{
  "core/audits/accessibility/accesskeys.js | description": {
    "message": "คีย์การเข้าถึงให้ผู้ใช้โฟกัสที่ส่วนหนึ่งของหน้าได้อย่างรวดเร็ว คีย์การเข้าถึงแต่ละรายการต้องไม่ซ้ำกันเพื่อให้ไปยังส่วนต่างๆ ได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับคีย์การเข้าถึง](https://dequeuniversity.com/rules/axe/4.11/accesskeys)"
  },
  "core/audits/accessibility/accesskeys.js | failureTitle": {
    "message": "ค่า `[accesskey]` ซ้ำกัน"
  },
  "core/audits/accessibility/accesskeys.js | title": {
    "message": "ค่า `[accesskey]` ไม่ซ้ำกัน"
  },
  "core/audits/accessibility/aria-allowed-attr.js | description": {
    "message": "`role` ของ ARIA แต่ละรายการรองรับชุดย่อยของแอตทริบิวต์ `aria-*` ที่เจาะจง หากรายการเหล่านี้ไม่ตรงกันจะทำให้แอตทริบิวต์ `aria-*` ไม่ถูกต้อง [ดูวิธีจับคู่แอตทริบิวต์ ARIA กับบทบาท](https://dequeuniversity.com/rules/axe/4.11/aria-allowed-attr)"
  },
  "core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
    "message": "แอตทริบิวต์ `[aria-*]` ไม่ตรงกับบทบาทของตน"
  },
  "core/audits/accessibility/aria-allowed-attr.js | title": {
    "message": "แอตทริบิวต์ `[aria-*]` ตรงกับบทบาทของตน"
  },
  "core/audits/accessibility/aria-allowed-role.js | description": {
    "message": "องค์ประกอบ HTML หลายรายการสามารถได้รับการกำหนดบทบาท ARIA บางอย่างเท่านั้น การใช้บทบาท ARIA โดยที่ไม่ได้รับอนุญาตอาจรบกวนการเข้าถึงหน้าเว็บได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA](https://dequeuniversity.com/rules/axe/4.11/aria-allowed-role)"
  },
  "core/audits/accessibility/aria-allowed-role.js | failureTitle": {
    "message": "ใช้บทบาท ARIA กับองค์ประกอบที่เข้ากันไม่ได้"
  },
  "core/audits/accessibility/aria-allowed-role.js | title": {
    "message": "ใช้บทบาท ARIA กับองค์ประกอบที่เข้ากันได้เท่านั้น"
  },
  "core/audits/accessibility/aria-command-name.js | description": {
    "message": "เมื่อองค์ประกอบไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีทําให้องค์ประกอบคําสั่งเข้าถึงได้ง่ายขึ้น](https://dequeuniversity.com/rules/axe/4.11/aria-command-name)"
  },
  "core/audits/accessibility/aria-command-name.js | failureTitle": {
    "message": "องค์ประกอบ `button`, `link` และ `menuitem` ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-command-name.js | title": {
    "message": "องค์ประกอบ `button`, `link` และ `menuitem` มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-conditional-attr.js | description": {
    "message": "แอตทริบิวต์ ARIA บางรายการอนุญาตในองค์ประกอบภายใต้เงื่อนไขบางประการเท่านั้น [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ ARIA แบบมีเงื่อนไข](https://dequeuniversity.com/rules/axe/4.11/aria-conditional-attr)"
  },
  "core/audits/accessibility/aria-conditional-attr.js | failureTitle": {
    "message": "ไม่ได้ใช้แอตทริบิวต์ ARIA ตามที่ระบุไว้สำหรับบทบาทขององค์ประกอบ"
  },
  "core/audits/accessibility/aria-conditional-attr.js | title": {
    "message": "ใช้แอตทริบิวต์ ARIA ตามที่ระบุสำหรับบทบาทขององค์ประกอบ"
  },
  "core/audits/accessibility/aria-deprecated-role.js | description": {
    "message": "เทคโนโลยีความช่วยเหลือพิเศษอาจประมวลผลบทบาท ARIA ที่เลิกใช้งานแล้วอย่างไม่ถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA ที่เลิกใช้งาน](https://dequeuniversity.com/rules/axe/4.11/aria-deprecated-role)"
  },
  "core/audits/accessibility/aria-deprecated-role.js | failureTitle": {
    "message": "มีการใช้บทบาท ARIA ที่เลิกใช้งานแล้ว"
  },
  "core/audits/accessibility/aria-deprecated-role.js | title": {
    "message": "ไม่ได้ใช้บทบาท ARIA ที่เลิกใช้งานแล้ว"
  },
  "core/audits/accessibility/aria-dialog-name.js | description": {
    "message": "องค์ประกอบกล่องโต้ตอบ ARIA ที่ไม่มีชื่อที่เข้าถึงได้อาจทำให้ผู้ใช้โปรแกรมอ่านหน้าจอแยกแยะจุดประสงค์ขององค์ประกอบเหล่านี้ไม่ได้ [ดูวิธีทำให้องค์ประกอบกล่องโต้ตอบ ARIA เข้าถึงได้ง่ายขึ้น](https://dequeuniversity.com/rules/axe/4.11/aria-dialog-name)"
  },
  "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
    "message": "องค์ประกอบที่มี `role=\"dialog\"` หรือ `role=\"alertdialog\"` ไม่มีชื่อที่เข้าถึงได้"
  },
  "core/audits/accessibility/aria-dialog-name.js | title": {
    "message": "องค์ประกอบที่มี `role=\"dialog\"` หรือ `role=\"alertdialog\"` มีชื่อที่เข้าถึงได้"
  },
  "core/audits/accessibility/aria-hidden-body.js | description": {
    "message": "เทคโนโลยีความช่วยเหลือพิเศษ (เช่น โปรแกรมอ่านหน้าจอ) ทำงานไม่สอดคล้องกันเมื่อตั้งค่า `aria-hidden=\"true\"` ในเอกสาร `<body>` [ดูว่า `aria-hidden` ส่งผลอย่างไรต่อส่วนเนื้อหาของเอกสาร](https://dequeuniversity.com/rules/axe/4.11/aria-hidden-body)"
  },
  "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
    "message": "มี `[aria-hidden=\"true\"]` ปรากฏในเอกสาร `<body>`"
  },
  "core/audits/accessibility/aria-hidden-body.js | title": {
    "message": "ไม่มี `[aria-hidden=\"true\"]` ปรากฏในเอกสาร `<body>`"
  },
  "core/audits/accessibility/aria-hidden-focus.js | description": {
    "message": "เอลิเมนต์ที่โฟกัสได้ลำดับต่อลงมาในเอลิเมนต์ `[aria-hidden=\"true\"]` ป้องกันไม่ให้ผู้ใช้เทคโนโลยีความช่วยเหลือพิเศษ (เช่น โปรแกรมอ่านหน้าจอ) ใช้เอลิเมนต์การโต้ตอบเหล่านั้นได้ [ดูว่า `aria-hidden` ส่งผลอย่างไรต่อองค์ประกอบที่โฟกัสได้](https://dequeuniversity.com/rules/axe/4.11/aria-hidden-focus)"
  },
  "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
    "message": "เอลิเมนต์ `[aria-hidden=\"true\"]` มีเอลิเมนต์ที่โฟกัสได้ลำดับต่อลงมา"
  },
  "core/audits/accessibility/aria-hidden-focus.js | title": {
    "message": "เอลิเมนต์ `[aria-hidden=\"true\"]` ไม่มีเอลิเมนต์ที่โฟกัสได้ลำดับต่อลงมา"
  },
  "core/audits/accessibility/aria-input-field-name.js | description": {
    "message": "เมื่อช่องป้อนข้อมูลไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านปุ่มนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้ช่องป้อนข้อมูลดังกล่าวไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับป้ายกำกับช่องป้อนข้อมูล](https://dequeuniversity.com/rules/axe/4.11/aria-input-field-name)"
  },
  "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
    "message": "ช่องป้อนข้อมูล ARIA ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-input-field-name.js | title": {
    "message": "ช่องป้อนข้อมูล ARIA มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-meter-name.js | description": {
    "message": "เมื่อองค์ประกอบเครื่องวัดไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีตั้งชื่อองค์ประกอบ`meter`](https://dequeuniversity.com/rules/axe/4.11/aria-meter-name)"
  },
  "core/audits/accessibility/aria-meter-name.js | failureTitle": {
    "message": "องค์ประกอบ ARIA `meter` ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-meter-name.js | title": {
    "message": "องค์ประกอบ ARIA `meter` มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-progressbar-name.js | description": {
    "message": "เมื่อองค์ประกอบ `progressbar` ไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีติดป้ายกํากับองค์ประกอบ `progressbar`](https://dequeuniversity.com/rules/axe/4.11/aria-progressbar-name)"
  },
  "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
    "message": "องค์ประกอบ ARIA `progressbar` ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-progressbar-name.js | title": {
    "message": "องค์ประกอบ ARIA `progressbar` มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-prohibited-attr.js | description": {
    "message": "การใช้แอตทริบิวต์ ARIA ในบทบาทที่ไม่ได้รับอนุญาตอาจหมายความว่าไม่มีการสื่อสารข้อมูลสำคัญไปยังผู้ใช้เทคโนโลยีความช่วยเหลือพิเศษ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA ที่ไม่อนุญาต](https://dequeuniversity.com/rules/axe/4.11/aria-prohibited-attr)"
  },
  "core/audits/accessibility/aria-prohibited-attr.js | failureTitle": {
    "message": "องค์ประกอบใช้แอตทริบิวต์ ARIA ที่ไม่อนุญาต"
  },
  "core/audits/accessibility/aria-prohibited-attr.js | title": {
    "message": "องค์ประกอบใช้เฉพาะแอตทริบิวต์ ARIA ที่ได้รับอนุญาต"
  },
  "core/audits/accessibility/aria-required-attr.js | description": {
    "message": "บทบาท ARIA บางบทบาทกำหนดให้มีแอตทริบิวต์ที่อธิบายสถานะขององค์ประกอบให้โปรแกรมอ่านหน้าจอทราบ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทและแอตทริบิวต์ที่จำเป็น](https://dequeuniversity.com/rules/axe/4.11/aria-required-attr)"
  },
  "core/audits/accessibility/aria-required-attr.js | failureTitle": {
    "message": "`[role]` ไม่มีแอตทริบิวต์ `[aria-*]` ทั้งหมดที่จำเป็น"
  },
  "core/audits/accessibility/aria-required-attr.js | title": {
    "message": "`[role]` มีแอตทริบิวต์ `[aria-*]` ที่จำเป็นทั้งหมด"
  },
  "core/audits/accessibility/aria-required-children.js | description": {
    "message": "บทบาท ARIA ระดับบนสุดบางบทบาทต้องมีบทบาทย่อยที่เจาะจงเพื่อใช้ฟังก์ชันการช่วยเหลือพิเศษตามวัตถุประสงค์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทและองค์ประกอบย่อยที่จำเป็น](https://dequeuniversity.com/rules/axe/4.11/aria-required-children)"
  },
  "core/audits/accessibility/aria-required-children.js | failureTitle": {
    "message": "องค์ประกอบที่มี ARIA `[role]` ที่กำหนดให้องค์ประกอบย่อยต้องมี `[role]` ที่เฉพาะเจาะจงขาดองค์ประกอบย่อยที่จำเป็นดังกล่าวบางส่วนหรือทั้งหมด"
  },
  "core/audits/accessibility/aria-required-children.js | title": {
    "message": "องค์ประกอบที่มี ARIA `[role]` ที่กำหนดให้องค์ประกอบย่อยต้องมี `[role]` ที่เฉพาะเจาะจงนั้นมีองค์ประกอบย่อยที่จำเป็นทั้งหมด"
  },
  "core/audits/accessibility/aria-required-parent.js | description": {
    "message": "บทบาท ARIA ย่อยบางบทบาทต้องอยู่ในบทบาทระดับบนสุดที่เจาะจงเพื่อให้ใช้ฟังก์ชันการช่วยเหลือพิเศษตามวัตถุประสงค์ได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA และองค์ประกอบระดับบนสุดที่จำเป็น](https://dequeuniversity.com/rules/axe/4.11/aria-required-parent)"
  },
  "core/audits/accessibility/aria-required-parent.js | failureTitle": {
    "message": "`[role]` ไม่ได้อยู่ในองค์ประกอบระดับบนสุดที่กำหนด"
  },
  "core/audits/accessibility/aria-required-parent.js | title": {
    "message": "`[role]` อยู่ในองค์ประกอบระดับบนสุดที่กำหนด"
  },
  "core/audits/accessibility/aria-roles.js | description": {
    "message": "บทบาท ARIA ต้องมีค่าที่ถูกต้องเพื่อใช้ฟังก์ชันการช่วยเหลือพิเศษตามวัตถุประสงค์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาท ARIA ที่ถูกต้อง](https://dequeuniversity.com/rules/axe/4.11/aria-roles)"
  },
  "core/audits/accessibility/aria-roles.js | failureTitle": {
    "message": "ค่า `[role]` ไม่ถูกต้อง"
  },
  "core/audits/accessibility/aria-roles.js | title": {
    "message": "ค่า `[role]` ถูกต้อง"
  },
  "core/audits/accessibility/aria-text.js | description": {
    "message": "การเพิ่ม `role=text` รอบโหนดข้อความที่แบ่งตามมาร์กอัปจะทำให้ VoiceOver ถือว่าโหนดเป็น 1 วลี แต่ระบบจะไม่ประกาศองค์ประกอบสืบทอดที่โฟกัสได้ขององค์ประกอบ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `role=text`](https://dequeuniversity.com/rules/axe/4.11/aria-text)"
  },
  "core/audits/accessibility/aria-text.js | failureTitle": {
    "message": "องค์ประกอบที่มีแอตทริบิวต์ `role=text` มีองค์ประกอบสืบทอดที่โฟกัสได้"
  },
  "core/audits/accessibility/aria-text.js | title": {
    "message": "องค์ประกอบที่มีแอตทริบิวต์ `role=text` ไม่มีองค์ประกอบสืบทอดที่โฟกัสได้"
  },
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
    "message": "เมื่อช่องสลับไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านปุ่มนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้ช่องสลับดังกล่าวไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับช่องสลับ](https://dequeuniversity.com/rules/axe/4.11/aria-toggle-field-name)"
  },
  "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
    "message": "ช่องสลับ ARIA ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-toggle-field-name.js | title": {
    "message": "ช่องสลับ ARIA มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-tooltip-name.js | description": {
    "message": "เมื่อองค์ประกอบเคล็ดลับเครื่องมือไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูวิธีตั้งชื่อองค์ประกอบ`tooltip`](https://dequeuniversity.com/rules/axe/4.11/aria-tooltip-name)"
  },
  "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
    "message": "องค์ประกอบ ARIA `tooltip` ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-tooltip-name.js | title": {
    "message": "องค์ประกอบ ARIA `tooltip` มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-treeitem-name.js | description": {
    "message": "เมื่อองค์ประกอบ `treeitem` ไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านองค์ประกอบนั้นโดยใช้ชื่อทั่วไป ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้องค์ประกอบดังกล่าวไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดป้ายกำกับองค์ประกอบ `treeitem`](https://dequeuniversity.com/rules/axe/4.11/aria-treeitem-name)"
  },
  "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
    "message": "องค์ประกอบ ARIA `treeitem` ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-treeitem-name.js | title": {
    "message": "องค์ประกอบ ARIA `treeitem` มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/aria-valid-attr-value.js | description": {
    "message": "เทคโนโลยีความช่วยเหลือพิเศษ เช่น โปรแกรมอ่านหน้าจอ จะตีความแอตทริบิวต์ ARIA ที่มีค่าไม่ถูกต้องไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าที่ถูกต้องสําหรับแอตทริบิวต์ ARIA](https://dequeuniversity.com/rules/axe/4.11/aria-valid-attr-value)"
  },
  "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
    "message": "แอตทริบิวต์ `[aria-*]` ไม่มีค่าที่ถูกต้อง"
  },
  "core/audits/accessibility/aria-valid-attr-value.js | title": {
    "message": "แอตทริบิวต์ `[aria-*]` มีค่าที่ถูกต้อง"
  },
  "core/audits/accessibility/aria-valid-attr.js | description": {
    "message": "เทคโนโลยีความช่วยเหลือพิเศษ เช่น โปรแกรมอ่านหน้าจอ จะตีความแอตทริบิวต์ ARIA ที่มีชื่อไม่ถูกต้องไม่ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ ARIA ที่ถูกต้อง](https://dequeuniversity.com/rules/axe/4.11/aria-valid-attr)"
  },
  "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
    "message": "แอตทริบิวต์ `[aria-*]` ไม่ถูกต้องหรือสะกดผิด"
  },
  "core/audits/accessibility/aria-valid-attr.js | title": {
    "message": "แอตทริบิวต์ `[aria-*]` ถูกต้องและสะกดถูกต้อง"
  },
  "core/audits/accessibility/axe-audit.js | failingElementsHeader": {
    "message": "องค์ประกอบที่ไม่ผ่านการตรวจสอบ"
  },
  "core/audits/accessibility/button-name.js | description": {
    "message": "เมื่อปุ่มไม่มีชื่อที่เข้าถึงได้ โปรแกรมอ่านหน้าจอจะอ่านปุ่มนั้นว่า \"ปุ่ม\" ซึ่งทำให้ผู้ที่ต้องใช้โปรแกรมอ่านหน้าจอใช้ปุ่มดังกล่าวไม่ได้ [ดูวิธีทําให้ปุ่มเข้าถึงได้ง่ายขึ้น](https://dequeuniversity.com/rules/axe/4.11/button-name)"
  },
  "core/audits/accessibility/button-name.js | failureTitle": {
    "message": "ปุ่มต่างๆ ไม่มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/button-name.js | title": {
    "message": "ปุ่มต่างๆ มีชื่อสำหรับการช่วยเหลือพิเศษ"
  },
  "core/audits/accessibility/bypass.js | description": {
    "message": "การเพิ่มวิธีข้ามผ่านเนื้อหาที่ซ้ำกันช่วยให้ผู้ใช้แป้นพิมพ์ไปยังส่วนต่างๆ ของหน้าได้อย่างมีประสิทธิภาพมากขึ้น [ดูข้อมูลเพิ่มเติมเกี่ยวกับการบล็อกการข้าม](https://dequeuniversity.com/rules/axe/4.11/bypass)"
  },
  "core/audits/accessibility/bypass.js | failureTitle": {
    "message": "หน้าเว็บไม่มีส่วนหัว ลิงก์การข้าม หรือภูมิภาคของจุดสังเกต"
  },
  "core/audits/accessibility/bypass.js | title": {
    "message": "หน้าเว็บมีส่วนหัว ลิงก์การข้าม หรือภูมิภาคของจุดสังเกต"
  },
  "core/audits/accessibility/color-contrast.js | description": {
    "message": "ข้อความคอนทราสต์ต่ำมักทำให้ผู้ใช้จำนวนมากอ่านได้ยากหรืออ่านไม่ได้เลย [ดูวิธีทำให้สีมีคอนทราสต์เพียงพอ](https://dequeuniversity.com/rules/axe/4.11/color-contrast)"
  },
  "core/audits/accessibility/color-contrast.js | failureTitle": {
    "message": "สีพื้นหลังและสีพื้นหน้ามีอัตราส่วนคอนทราสต์ไม่เพียงพอ"
  },
  "core/audits/accessibility/color-contrast.js | title": {
    "message": "สีพื้นหลังและสีพื้นหน้ามีอัตราส่วนคอนทราสต์ที่เพียงพอ"
  },
  "core/audits/accessibility/definition-list.js | description": {
    "message": "เมื่อมีการทำเครื่องหมายรายการคำจำกัดความอย่างไม่ถูกต้อง โปรแกรมอ่านหน้าจออาจสร้างเอาต์พุตที่ทำให้สับสนหรือไม่แม่นยำ [ดูวิธีจัดโครงสร้างรายการคําจำกัดความอย่างถูกต้อง](https://dequeuniversity.com/rules/axe/4.11/definition-list)"
  },
  "core/audits/accessibility/definition-list.js | failureTitle": {
    "message": "`<dl>` ไม่ได้มีเพียงกลุ่ม `<dt>` และ `<dd>` หรือองค์ประกอบ `<script>` `<template>` หรือ `<div>` ที่เรียงลำดับอย่างถูกต้อง"
  },
  "core/audits/accessibility/definition-list.js | title": {
    "message": "`<dl>` มีเพียงกลุ่ม `<dt>` และ `<dd>` หรือองค์ประกอบ `<script>` `<template>` หรือ `<div>` ที่เรียงลำดับอย่างถูกต้อง"
  },
  "core/audits/accessibility/dlitem.js | description": {
    "message": "รายการย่อยของคำจำกัดความ (`<dt>` และ `<dd>`) ต้องรวมอยู่ในองค์ประกอบ `<dl>` ระดับบนสุดเพื่อดูแลให้โปรแกรมอ่านหน้าจออ่านได้อย่างถูกต้อง [ดูวิธีจัดโครงสร้างรายการคําจำกัดความอย่างถูกต้อง](https://dequeuniversity.com/rules/axe/4.11/dlitem)"
  },
  "core/audits/accessibility/dlitem.js | failureTitle": {
    "message": "รายการย่อยของคำจำกัดความไม่ได้รวมอยู่ในองค์ประกอบ `<dl>`"
  },
  "core/audits/accessibility/dlitem.js | title": {
    "message": "รายการย่อยของคำจำกัดความรวมอยู่ในองค์ประกอบ `<dl>`"
  },
  "core/audits/accessibility/document-title.js | description": {
    "message": "ชื่อช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอทราบถึงภาพรวมของหน้า และผู้ใช้เครื่องมือค้นหาจะดูความเกี่ยวข้องของหน้ากับการค้นหาของตนจากชื่อเป็นหลัก [ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อเอกสาร](https://dequeuniversity.com/rules/axe/4.11/document-title)"
  },
  "core/audits/accessibility/document-title.js | failureTitle": {
    "message": "เอกสารไม่มีองค์ประกอบ `<title>`"
  },
  "core/audits/accessibility/document-title.js | title": {
    "message": "เอกสารมีองค์ประกอบ `<title>`"
  },
  "core/audits/accessibility/duplicate-id-aria.js | description": {
    "message": "ค่าของรหัส ARIA ต้องไม่ซ้ำกันเพื่อป้องกันไม่ให้เทคโนโลยีความช่วยเหลือพิเศษมองข้ามอินสแตนซ์อื่นๆ [ดูวิธีแก้ไขรหัส ARIA ที่ซ้ำกัน](https://dequeuniversity.com/rules/axe/4.11/duplicate-id-aria)"
  },
  "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
    "message": "มีรหัส ARIA ซ้ำกัน"
  },
  "core/audits/accessibility/duplicate-id-aria.js | title": {
    "message": "ไม่มีรหัส ARIA ที่ซ้ำกัน"
  },
  "core/audits/accessibility/empty-heading.js | description": {
    "message": "ส่วนหัวที่ไม่มีเนื้อหาหรือมีข้อความที่ไม่สามารถเข้าถึงได้จะทำให้ผู้ใช้โปรแกรมอ่านหน้าจอไม่สามารถเข้าถึงข้อมูลบนโครงสร้างของหน้าเว็บ [ดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนหัว](https://dequeuniversity.com/rules/axe/4.11/empty-heading)"
  },
  "core/audits/accessibility/empty-heading.js | failureTitle": {
    "message": "องค์ประกอบส่วนหัวไม่มีเนื้อหา"
  },
  "core/audits/accessibility/empty-heading.js | title": {
    "message": "องค์ประกอบส่วนหัวทั้งหมดมีเนื้อหา"
  },
  "core/audits/accessibility/form-field-multiple-labels.js | description": {
    "message": "ช่องในฟอร์มที่มีป้ายกำกับหลายรายการอาจทำให้เทคโนโลยีความช่วยเหลือพิเศษ (เช่น โปรแกรมอ่านหน้าจอ) สร้างความสับสนให้กับผู้ใช้ได้ โดยอาจอ่านป้ายกำกับแรก ป้ายกำกับสุดท้าย หรืออ่านทุกป้ายกำกับ [ดูวิธีใช้ป้ายกำกับในแบบฟอร์ม](https://dequeuniversity.com/rules/axe/4.11/form-field-multiple-labels)"
  },
  "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
    "message": "ช่องในฟอร์มมีป้ายกำกับหลายรายการ"
  },
  "core/audits/accessibility/form-field-multiple-labels.js | title": {
    "message": "ไม่มีช่องในฟอร์มช่องใดมีป้ายกำกับหลายรายการ"
  },
  "core/audits/accessibility/frame-title.js | description": {
    "message": "ผู้ใช้โปรแกรมอ่านหน้าจอต้องใช้ชื่อเฟรมเพื่ออธิบายเนื้อหาของเฟรม [ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อเฟรม](https://dequeuniversity.com/rules/axe/4.11/frame-title)"
  },
  "core/audits/accessibility/frame-title.js | failureTitle": {
    "message": "องค์ประกอบ `<frame>` หรือ `<iframe>` ไม่มีชื่อ"
  },
  "core/audits/accessibility/frame-title.js | title": {
    "message": "องค์ประกอบ `<frame>` หรือ `<iframe>` มีชื่อ"
  },
  "core/audits/accessibility/heading-order.js | description": {
    "message": "ส่วนหัวที่เรียงลำดับอย่างถูกต้องโดยไม่มีการข้ามระดับจะถ่ายทอดโครงสร้างทางอรรถศาสตร์ของหน้าที่ทำให้การไปยังส่วนต่างๆ และการทำความเข้าใจง่ายมากขึ้นเมื่อใช้เทคโนโลยีความช่วยเหลือพิเศษ [ดูข้อมูลเพิ่มเติมเกี่ยวกับลำดับส่วนหัว](https://dequeuniversity.com/rules/axe/4.11/heading-order)"
  },
  "core/audits/accessibility/heading-order.js | failureTitle": {
    "message": "เอลิเมนต์ส่วนหัวไม่ปรากฏตามลำดับในเอลิเมนต์ลำดับต่อๆ ลงมา"
  },
  "core/audits/accessibility/heading-order.js | title": {
    "message": "เอลิเมนต์ส่วนหัวปรากฏตามลำดับในเอลิเมนต์ลำดับต่อๆ ลงมา"
  },
  "core/audits/accessibility/html-has-lang.js | description": {
    "message": "หากหน้าเว็บไม่ได้ระบุแอตทริบิวต์ `lang` โปรแกรมอ่านหน้าจอจะถือว่าหน้าดังกล่าวใช้ภาษาเริ่มต้นที่ผู้ใช้เลือกเมื่อตั้งค่าโปรแกรมอ่านหน้าจอ หากที่จริงแล้วหน้าดังกล่าวไม่ได้ใช้ภาษาเริ่มต้น โปรแกรมอ่านหน้าจออาจอ่านข้อความในหน้าได้ไม่ถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.11/html-has-lang)"
  },
  "core/audits/accessibility/html-has-lang.js | failureTitle": {
    "message": "องค์ประกอบ `<html>` ไม่มีแอตทริบิวต์ `[lang]`"
  },
  "core/audits/accessibility/html-has-lang.js | title": {
    "message": "องค์ประกอบ `<html>` มีแอตทริบิวต์ `[lang]`"
  },
  "core/audits/accessibility/html-lang-valid.js | description": {
    "message": "การระบุ[ภาษา BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ที่ถูกต้องช่วยให้โปรแกรมอ่านหน้าจออ่านข้อความได้อย่างถูกต้อง [ดูวิธีใช้แอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.11/html-lang-valid)"
  },
  "core/audits/accessibility/html-lang-valid.js | failureTitle": {
    "message": "องค์ประกอบ `<html>` ไม่มีค่าที่ถูกต้องสำหรับแอตทริบิวต์ `[lang]`"
  },
  "core/audits/accessibility/html-lang-valid.js | title": {
    "message": "องค์ประกอบ `<html>` มีค่าที่ถูกต้องสำหรับแอตทริบิวต์ `[lang]`"
  },
  "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
    "message": "หากหน้าเว็บไม่ได้ระบุภาษาที่สอดคล้องกัน โปรแกรมอ่านหน้าจออาจอ่านข้อความของหน้าเว็บไม่ถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.11/html-xml-lang-mismatch)"
  },
  "core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
    "message": "องค์ประกอบ `<html>` ไม่มีแอตทริบิวต์ `[xml:lang]` ที่มีภาษาฐานเดียวกันกับแอตทริบิวต์ `[lang]`"
  },
  "core/audits/accessibility/html-xml-lang-mismatch.js | title": {
    "message": "องค์ประกอบ `<html>` มีแอตทริบิวต์ `[xml:lang]` ที่มีภาษาฐานเดียวกันกับแอตทริบิวต์ `[lang]`"
  },
  "core/audits/accessibility/identical-links-same-purpose.js | description": {
    "message": "ลิงก์ที่มีปลายทางเดียวกันควรจะมีคำอธิบายเดียวกัน เพื่อช่วยให้ผู้ใช้เข้าใจวัตถุประสงค์ของลิงก์และตัดสินใจว่าจะคลิกเพื่อไปตามลิงก์หรือไม่ [ดูข้อมูลเพิ่มเติมเกี่ยวกับลิงก์ที่เหมือนกัน](https://dequeuniversity.com/rules/axe/4.11/identical-links-same-purpose)"
  },
  "core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
    "message": "ลิงก์ที่เหมือนกันมีวัตถุประสงค์ต่างกัน"
  },
  "core/audits/accessibility/identical-links-same-purpose.js | title": {
    "message": "ลิงก์ที่เหมือนกันมีวัตถุประสงค์เดียวกัน"
  },
  "core/audits/accessibility/image-alt.js | description": {
    "message": "องค์ประกอบเพื่อการให้ข้อมูลควรมีข้อความสำรองที่สั้นกระชับและสื่อความหมาย การใช้แอตทริบิวต์ Alt ที่ว่างเปล่าจะเป็นการเพิกเฉยต่อองค์ประกอบเพื่อการตกแต่ง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `alt`](https://dequeuniversity.com/rules/axe/4.11/image-alt)"
  },
  "core/audits/accessibility/image-alt.js | failureTitle": {
    "message": "องค์ประกอบรูปภาพไม่มีแอตทริบิวต์ `[alt]`"
  },
  "core/audits/accessibility/image-alt.js | title": {
    "message": "องค์ประกอบรูปภาพมีแอตทริบิวต์ `[alt]`"
  },
  "core/audits/accessibility/image-redundant-alt.js | description": {
    "message": "องค์ประกอบเพื่อการให้ข้อมูลควรมีข้อความสำรองที่สั้นกระชับและสื่อความหมาย ข้อความสำรองที่เหมือนกันทุกประการกับข้อความที่อยู่ติดกับลิงก์หรือรูปภาพอาจทำให้ผู้ใช้โปรแกรมอ่านหน้าจอสับสนได้เนื่องจากระบบจะอ่านข้อความ 2 ครั้ง [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `alt`](https://dequeuniversity.com/rules/axe/4.11/image-redundant-alt)"
  },
  "core/audits/accessibility/image-redundant-alt.js | failureTitle": {
    "message": "องค์ประกอบรูปภาพมีแอตทริบิวต์ `[alt]` ที่เป็นข้อความซ้ำซ้อน"
  },
  "core/audits/accessibility/image-redundant-alt.js | title": {
    "message": "องค์ประกอบรูปภาพไม่มีแอตทริบิวต์ `[alt]` ที่เป็นข้อความซ้ำซ้อน"
  },
  "core/audits/accessibility/input-button-name.js | description": {
    "message": "การเพิ่มข้อความช่วยการเข้าถึงซึ่งมองเห็นได้ลงในปุ่มอินพุตอาจช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอเข้าใจวัตถุประสงค์ของปุ่มอินพุต [ดูข้อมูลเพิ่มเติมเกี่ยวกับปุ่มอินพุต](https://dequeuniversity.com/rules/axe/4.11/input-button-name)"
  },
  "core/audits/accessibility/input-button-name.js | failureTitle": {
    "message": "ปุ่มอินพุตไม่มีข้อความที่มองเห็นได้ชัดเจน"
  },
  "core/audits/accessibility/input-button-name.js | title": {
    "message": "ปุ่มอินพุตมีข้อความที่มองเห็นได้ชัดเจน"
  },
  "core/audits/accessibility/input-image-alt.js | description": {
    "message": "เมื่อมีการใช้รูปภาพเป็นปุ่ม `<input>` การระบุข้อความสำรองจะช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอเข้าใจวัตถุประสงค์ของปุ่มได้ [ดูข้อมูลเกี่ยวกับข้อความแสดงแทนของรูปภาพที่ป้อน](https://dequeuniversity.com/rules/axe/4.11/input-image-alt)"
  },
  "core/audits/accessibility/input-image-alt.js | failureTitle": {
    "message": "องค์ประกอบ `<input type=\"image\">` ไม่มีข้อความ `[alt]`"
  },
  "core/audits/accessibility/input-image-alt.js | title": {
    "message": "องค์ประกอบ `<input type=\"image\">` มีข้อความ `[alt]`"
  },
  "core/audits/accessibility/label-content-name-mismatch.js | description": {
    "message": "ป้ายกำกับข้อความที่มองเห็นได้ซึ่งไม่ตรงกับชื่อที่เข้าถึงได้อาจทำให้ผู้ใช้โปรแกรมอ่านหน้าจอสับสน [ดูข้อมูลเพิ่มเติมเกี่ยวกับชื่อที่เข้าถึงได้](https://dequeuniversity.com/rules/axe/4.11/label-content-name-mismatch)"
  },
  "core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
    "message": "องค์ประกอบที่มีป้ายกำกับข้อความที่มองเห็นได้ไม่มีชื่อที่เข้าถึงได้ที่ตรงกัน"
  },
  "core/audits/accessibility/label-content-name-mismatch.js | title": {
    "message": "องค์ประกอบที่มีป้ายกำกับข้อความที่มองเห็นได้มีชื่อที่เข้าถึงได้ที่ตรงกัน"
  },
  "core/audits/accessibility/label.js | description": {
    "message": "ป้ายกำกับช่วยดูแลให้เทคโนโลยีความช่วยเหลือพิเศษอย่างเช่น โปรแกรมอ่านหน้าจอ อ่านส่วนควบคุมฟอร์มได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับป้ายกํากับองค์ประกอบแบบฟอร์ม](https://dequeuniversity.com/rules/axe/4.11/label)"
  },
  "core/audits/accessibility/label.js | failureTitle": {
    "message": "องค์ประกอบฟอร์มไม่มีป้ายกำกับที่เชื่อมโยง"
  },
  "core/audits/accessibility/label.js | title": {
    "message": "องค์ประกอบฟอร์มมีป้ายกำกับที่เชื่อมโยงอยู่"
  },
  "core/audits/accessibility/landmark-one-main.js | description": {
    "message": "จุดสังเกตหลัก 1 จุดช่วยให้ผู้ใช้โปรแกรมอ่านหน้าจอไปยังส่วนต่างๆ ของหน้าเว็บได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับจุดสังเกต](https://dequeuniversity.com/rules/axe/4.11/landmark-one-main)"
  },
  "core/audits/accessibility/landmark-one-main.js | failureTitle": {
    "message": "เอกสารไม่มีจุดสังเกตหลัก"
  },
  "core/audits/accessibility/landmark-one-main.js | title": {
    "message": "เอกสารมีจุดสังเกตหลัก"
  },
  "core/audits/accessibility/link-in-text-block.js | description": {
    "message": "ข้อความคอนทราสต์ต่ำมักทำให้ผู้ใช้จำนวนมากอ่านได้ยากหรืออ่านไม่ได้เลย ข้อความลิงก์ที่มองเห็นได้ชัดเจนจะช่วยปรับปรุงประสบการณ์การใช้งานให้ดียิ่งขึ้นสำหรับผู้ใช้ที่มีสายตาเลือนราง [ดูวิธีทำให้ลิงก์โดดเด่น](https://dequeuniversity.com/rules/axe/4.11/link-in-text-block)"
  },
  "core/audits/accessibility/link-in-text-block.js | failureTitle": {
    "message": "ต้องใช้สีจึงจะแยกความแตกต่างของลิงก์ได้"
  },
  "core/audits/accessibility/link-in-text-block.js | title": {
    "message": "แยกความแตกต่างของลิงก์ได้โดยไม่ต้องใช้สี"
  },
  "core/audits/accessibility/link-name.js | description": {
    "message": "ข้อความลิงก์ (และข้อความสำรองสำหรับรูปภาพเมื่อใช้เป็นลิงก์) ที่แยกแยะได้ ไม่ซ้ำกัน และโฟกัสได้ ช่วยปรับปรุงประสบการณ์การไปยังส่วนต่างๆ สำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูวิธีทำให้ลิงก์เข้าถึงได้](https://dequeuniversity.com/rules/axe/4.11/link-name)"
  },
  "core/audits/accessibility/link-name.js | failureTitle": {
    "message": "ลิงก์ไม่มีชื่อที่แยกแยะได้"
  },
  "core/audits/accessibility/link-name.js | title": {
    "message": "ลิงก์มีชื่อที่แยกแยะได้"
  },
  "core/audits/accessibility/list.js | description": {
    "message": "โปรแกรมอ่านหน้าจอมีวิธีเฉพาะในการอ่านรายการ การดูแลให้รายการมีโครงสร้างที่ถูกต้องช่วยโปรแกรมอ่านหน้าจอในการอ่านเนื้อหา [ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างรายการที่เหมาะสม](https://dequeuniversity.com/rules/axe/4.11/list)"
  },
  "core/audits/accessibility/list.js | failureTitle": {
    "message": "รายการไม่ได้มีแต่องค์ประกอบ `<li>` และองค์ประกอบที่รองรับสคริปต์ (`<script>` และ`<template>`)"
  },
  "core/audits/accessibility/list.js | title": {
    "message": "รายการมีเพียงองค์ประกอบ `<li>` และองค์ประกอบที่รองรับสคริปต์ (`<script>` และ `<template>`)"
  },
  "core/audits/accessibility/listitem.js | description": {
    "message": "โปรแกรมอ่านหน้าจอกำหนดให้รายการย่อย (`<li>`) อยู่ใน `<ul>` `<ol>` หรือ `<menu>` ระดับบนสุดเพื่อให้อ่านได้อย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างรายการที่เหมาะสม](https://dequeuniversity.com/rules/axe/4.11/listitem)"
  },
  "core/audits/accessibility/listitem.js | failureTitle": {
    "message": "รายการข้อมูล (`<li>`) ไม่ได้อยู่ภายในองค์ประกอบระดับบนสุด `<ul>`, `<ol>` หรือ `<menu>`"
  },
  "core/audits/accessibility/listitem.js | title": {
    "message": "รายการข้อมูล (`<li>`) อยู่ในองค์ประกอบระดับบนสุด `<ul>` `<ol>` หรือ `<menu>`"
  },
  "core/audits/accessibility/meta-refresh.js | description": {
    "message": "ผู้ใช้ไม่ได้คาดหวังให้หน้าเว็บรีเฟรชโดยอัตโนมัติ และการรีเฟรชหน้าเว็บจะย้ายโฟกัสกลับไปที่ด้านบนของหน้า ซึ่งอาจทำให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่สับสนหรือน่าหงุดหงิด [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตาแท็กการรีเฟรช](https://dequeuniversity.com/rules/axe/4.11/meta-refresh)"
  },
  "core/audits/accessibility/meta-refresh.js | failureTitle": {
    "message": "เอกสารใช้ `<meta http-equiv=\"refresh\">`"
  },
  "core/audits/accessibility/meta-refresh.js | title": {
    "message": "เอกสารนี้ไม่ได้ใช้ `<meta http-equiv=\"refresh\">`"
  },
  "core/audits/accessibility/meta-viewport.js | description": {
    "message": "การปิดใช้การซูมจะเป็นปัญหาสำหรับผู้ใช้ที่มีสายตาเลือนรางซึ่งต้องใช้การขยายหน้าจอเพื่อให้ดูเนื้อหาของหน้าเว็บได้อย่างชัดเจน [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตาแท็ก Viewport](https://dequeuniversity.com/rules/axe/4.11/meta-viewport)"
  },
  "core/audits/accessibility/meta-viewport.js | failureTitle": {
    "message": "มีการใช้ `[user-scalable=\"no\"]` ในองค์ประกอบ `<meta name=\"viewport\">`หรือแอตทริบิวต์ `[maximum-scale]` น้อยกว่า 5"
  },
  "core/audits/accessibility/meta-viewport.js | title": {
    "message": "ไม่มีการใช้ `[user-scalable=\"no\"]` ในองค์ประกอบ `<meta name=\"viewport\">` และแอตทริบิวต์ `[maximum-scale]` ไม่น้อยกว่า 5"
  },
  "core/audits/accessibility/object-alt.js | description": {
    "message": "โปรแกรมอ่านหน้าจอแปลเนื้อหาที่ไม่ใช่ข้อความไม่ได้ การเพิ่มข้อความแสดงแทนลงในองค์ประกอบ `<object>` ช่วยโปรแกรมอ่านหน้าจอถ่ายทอดความหมายให้แก่ผู้ใช้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อความแสดงแทนสำหรับองค์ประกอบ `object`](https://dequeuniversity.com/rules/axe/4.11/object-alt)"
  },
  "core/audits/accessibility/object-alt.js | failureTitle": {
    "message": "องค์ประกอบ `<object>` ไม่มีข้อความแสดงแทน"
  },
  "core/audits/accessibility/object-alt.js | title": {
    "message": "องค์ประกอบ `<object>` มีข้อความแสดงแทน"
  },
  "core/audits/accessibility/select-name.js | description": {
    "message": "องค์ประกอบแบบฟอร์มที่ไม่มีป้ายกำกับที่มีประสิทธิภาพจะสร้างประสบการณ์การใช้งานที่น่าผิดหวังสำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับองค์ประกอบ `select`](https://dequeuniversity.com/rules/axe/4.11/select-name)"
  },
  "core/audits/accessibility/select-name.js | failureTitle": {
    "message": "องค์ประกอบ Select ไม่มีองค์ประกอบป้ายกำกับที่เชื่อมโยง"
  },
  "core/audits/accessibility/select-name.js | title": {
    "message": "องค์ประกอบ Select มีองค์ประกอบป้ายกำกับที่เกี่ยวข้อง"
  },
  "core/audits/accessibility/skip-link.js | description": {
    "message": "การใส่ลิงก์ข้ามจะช่วยให้ผู้ใช้ข้ามไปยังเนื้อหาหลักเพื่อประหยัดเวลาได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับลิงก์ข้าม](https://dequeuniversity.com/rules/axe/4.11/skip-link)"
  },
  "core/audits/accessibility/skip-link.js | failureTitle": {
    "message": "ไม่สามารถโฟกัสที่ลิงก์ข้ามได้"
  },
  "core/audits/accessibility/skip-link.js | title": {
    "message": "โฟกัสลิงก์ข้ามได้"
  },
  "core/audits/accessibility/tabindex.js | description": {
    "message": "ค่าที่มากกว่า 0 หมายความว่ามีการจัดเรียงการนำทางที่ชัดเจน แม้ว่าการทำงานนี้จะไม่มีปัญหาในทางเทคนิค แต่มักก่อให้เกิดประสบการณ์การใช้งานที่น่าหงุดหงิดสำหรับผู้ใช้เทคโนโลยีความช่วยเหลือพิเศษ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `tabindex`](https://dequeuniversity.com/rules/axe/4.11/tabindex)"
  },
  "core/audits/accessibility/tabindex.js | failureTitle": {
    "message": "องค์ประกอบบางอย่างมีค่า `[tabindex]` มากกว่า 0"
  },
  "core/audits/accessibility/tabindex.js | title": {
    "message": "ไม่มีองค์ประกอบที่มีค่า `[tabindex]` มากกว่า 0"
  },
  "core/audits/accessibility/table-duplicate-name.js | description": {
    "message": "แอตทริบิวต์สรุปควรอธิบายโครงสร้างตาราง ส่วน`<caption>`ควรมีชื่อบนหน้าจอ มาร์กอัปตารางที่ถูกต้องจะช่วยอำนวยความสะดวกให้แก่ผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับสรุปและคำบรรยาย](https://dequeuniversity.com/rules/axe/4.11/table-duplicate-name)"
  },
  "core/audits/accessibility/table-duplicate-name.js | failureTitle": {
    "message": "ตารางมีเนื้อหาที่เหมือนกันในแอตทริบิวต์สรุปและ`<caption>.`"
  },
  "core/audits/accessibility/table-duplicate-name.js | title": {
    "message": "ตารางมีเนื้อหาที่แตกต่างกันในแอตทริบิวต์สรุปและ`<caption>`"
  },
  "core/audits/accessibility/table-fake-caption.js | description": {
    "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การตรวจสอบว่าตารางใช้องค์ประกอบคำบรรยายจริงแทนเซลล์ที่มีแอตทริบิวต์ `[colspan]` อาจช่วยปรับปรุงประสบการณ์การใช้งานของผู้ใช้โปรแกรมอ่านหน้าจอได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับคำบรรยาย](https://dequeuniversity.com/rules/axe/4.11/table-fake-caption)"
  },
  "core/audits/accessibility/table-fake-caption.js | failureTitle": {
    "message": "ตารางไม่ได้ใช้ `<caption>` แทนเซลล์ที่มีแอตทริบิวต์ `[colspan]` ในการระบุคำบรรยาย"
  },
  "core/audits/accessibility/table-fake-caption.js | title": {
    "message": "ตารางใช้ `<caption>` แทนเซลล์ที่มีแอตทริบิวต์ `[colspan]` ในการระบุคำบรรยาย"
  },
  "core/audits/accessibility/target-size.js | description": {
    "message": "เป้าหมายการสัมผัสที่มีขนาดและระยะห่างเพียงพอจะช่วยให้ผู้ใช้ที่อาจพบปัญหาในการกำหนดเป้าหมายการควบคุมขนาดเล็กเปิดใช้งานเป้าหมายได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับเป้าหมายการสัมผัส](https://dequeuniversity.com/rules/axe/4.11/target-size)"
  },
  "core/audits/accessibility/target-size.js | failureTitle": {
    "message": "เป้าหมายการสัมผัสไม่มีขนาดหรือระยะห่างที่เพียงพอ"
  },
  "core/audits/accessibility/target-size.js | title": {
    "message": "เป้าหมายการสัมผัสมีขนาดและระยะห่างที่เพียงพอ"
  },
  "core/audits/accessibility/td-has-header.js | description": {
    "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การตรวจสอบว่าองค์ประกอบ `<td>` ในตารางขนาดใหญ่ (เซลล์อย่างน้อย 3 เซลล์มีขนาดกว้างและสูง) มีส่วนหัวตารางที่เชื่อมโยงอาจปรับปรุงประสบการณ์การใช้งานของผู้ใช้โปรแกรมอ่านหน้าจอได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนหัวของตาราง](https://dequeuniversity.com/rules/axe/4.11/td-has-header)"
  },
  "core/audits/accessibility/td-has-header.js | failureTitle": {
    "message": "องค์ประกอบ `<td>` ใน `<table>` ขนาดใหญ่ไม่มีส่วนหัวตาราง"
  },
  "core/audits/accessibility/td-has-header.js | title": {
    "message": "องค์ประกอบ `<td>` ใน `<table>` ขนาดใหญ่มีส่วนหัวตารางอย่างน้อย 1 รายการ"
  },
  "core/audits/accessibility/td-headers-attr.js | description": {
    "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การดูแลให้เซลล์ `<td>` ที่ใช้แอตทริบิวต์ `[headers]` อ้างอิงถึงเซลล์อื่นๆ ในตารางเดียวกันเท่านั้นอาจช่วยปรับปรุงประสบการณ์สำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ `headers`](https://dequeuniversity.com/rules/axe/4.11/td-headers-attr)"
  },
  "core/audits/accessibility/td-headers-attr.js | failureTitle": {
    "message": "เซลล์ในองค์ประกอบ `<table>` ที่ใช้แอตทริบิวต์ `[headers]` อ้างอิงถึง `id` ขององค์ประกอบที่ไม่พบในตารางเดียวกันนี้"
  },
  "core/audits/accessibility/td-headers-attr.js | title": {
    "message": "เซลล์ในองค์ประกอบ `<table>` ที่ใช้แอตทริบิวต์ `[headers]` อ้างอิงถึงเซลล์ของตารางภายในตารางเดียวกัน"
  },
  "core/audits/accessibility/th-has-data-cells.js | description": {
    "message": "โปรแกรมอ่านหน้าจอมีฟีเจอร์ที่ช่วยให้ไปยังส่วนต่างๆ ของตารางได้ง่ายขึ้น การดูแลให้ส่วนหัวของตารางอ้างอิงถึงชุดเซลล์บางชุดอยู่เสมออาจช่วยปรับปรุงประสบการณ์สำหรับผู้ใช้โปรแกรมอ่านหน้าจอ [ดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนหัวของตาราง](https://dequeuniversity.com/rules/axe/4.11/th-has-data-cells)"
  },
  "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
    "message": "องค์ประกอบ `<th>` และองค์ประกอบที่มี `[role=\"columnheader\"/\"rowheader\"]` ไม่มีเซลล์ข้อมูลที่องค์ประกอบอธิบาย"
  },
  "core/audits/accessibility/th-has-data-cells.js | title": {
    "message": "องค์ประกอบ `<th>` และองค์ประกอบที่มี `[role=\"columnheader\"/\"rowheader\"]` มีเซลล์ข้อมูลที่องค์ประกอบอธิบาย"
  },
  "core/audits/accessibility/valid-lang.js | description": {
    "message": "การระบุ[ภาษา BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ที่ถูกต้องในองค์ประกอบต่างๆ ช่วยดูแลให้โปรแกรมอ่านหน้าจอออกเสียงข้อความได้อย่างถูกต้อง [ดูวิธีใช้แอตทริบิวต์ `lang`](https://dequeuniversity.com/rules/axe/4.11/valid-lang)"
  },
  "core/audits/accessibility/valid-lang.js | failureTitle": {
    "message": "แอตทริบิวต์ `[lang]` ไม่มีค่าที่ถูกต้อง"
  },
  "core/audits/accessibility/valid-lang.js | title": {
    "message": "แอตทริบิวต์ `[lang]` มีค่าที่ถูกต้อง"
  },
  "core/audits/accessibility/video-caption.js | description": {
    "message": "เมื่อวิดีโอมีคำอธิบายแทนเสียง คนหูหนวกและผู้ใช้ที่มีความบกพร่องทางการได้ยินจะเข้าถึงข้อมูลของวิดีโอได้ง่ายขึ้น [ดูข้อมูลเพิ่มเติมเกี่ยวกับคำบรรยายแทนเสียงสำหรับวิดีโอ](https://dequeuniversity.com/rules/axe/4.11/video-caption)"
  },
  "core/audits/accessibility/video-caption.js | failureTitle": {
    "message": "องค์ประกอบ `<video>` ไม่มีองค์ประกอบ `<track>` ที่มี `[kind=\"captions\"]`"
  },
  "core/audits/accessibility/video-caption.js | title": {
    "message": "องค์ประกอบ `<video>` มีองค์ประกอบ `<track>` ที่มี `[kind=\"captions\"]`"
  },
  "core/audits/autocomplete.js | columnCurrent": {
    "message": "ค่าปัจจุบัน"
  },
  "core/audits/autocomplete.js | columnSuggestions": {
    "message": "โทเค็นแนะนำ"
  },
  "core/audits/autocomplete.js | description": {
    "message": "`autocomplete` ช่วยให้ผู้ใช้ส่งแบบฟอร์มได้เร็วขึ้น พิจารณาเปิดใช้โดยตั้งค่าแอตทริบิวต์ `autocomplete` เป็นค่าที่ถูกต้องเพื่ออำนวยความสะดวกแก่ผู้ใช้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับ `autocomplete` ในแบบฟอร์ม](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
  },
  "core/audits/autocomplete.js | failureTitle": {
    "message": "เอลิเมนต์ `<input>` ไม่มีแอตทริบิวต์ `autocomplete` ที่ถูกต้อง"
  },
  "core/audits/autocomplete.js | manualReview": {
    "message": "ต้องตรวจสอบโดยเจ้าหน้าที่"
  },
  "core/audits/autocomplete.js | reviewOrder": {
    "message": "ตรวจสอบลำดับของโทเค็น"
  },
  "core/audits/autocomplete.js | title": {
    "message": "เอลิเมนต์ `<input>` ใช้ `autocomplete` อย่างถูกต้อง"
  },
  "core/audits/autocomplete.js | warningInvalid": {
    "message": "โทเค็น `autocomplete`: \"{token}\" ใน {snippet} ไม่ถูกต้อง"
  },
  "core/audits/autocomplete.js | warningOrder": {
    "message": "ตรวจสอบลำดับของโทเค็น: \"{tokens}\" ใน {snippet}"
  },
  "core/audits/bf-cache.js | actionableFailureType": {
    "message": "ดำเนินการได้"
  },
  "core/audits/bf-cache.js | description": {
    "message": "การไปยังส่วนต่างๆ หลายรายการจะดำเนินการโดยกลับไปที่หน้าก่อนหน้าหรือไปยังหน้าถัดไปอีกครั้ง Back-Forward Cache (bfcache) ช่วยเร่งการไปยังส่วนต่างๆ แบบย้อนกลับเหล่านี้ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับ bfcache](https://developer.chrome.com/docs/lighthouse/performance/bf-cache/)"
  },
  "core/audits/bf-cache.js | displayValue": {
    "message": "{itemCount,plural, =1{สาเหตุที่ดำเนินการไม่สำเร็จ 1 รายการ}other{สาเหตุที่ดำเนินการไม่สำเร็จ # รายการ}}"
  },
  "core/audits/bf-cache.js | failureReasonColumn": {
    "message": "เหตุผลที่ไม่สำเร็จ"
  },
  "core/audits/bf-cache.js | failureTitle": {
    "message": "หน้าเว็บป้องกันไม่ให้กู้คืนฟีเจอร์ Back-Forward Cache"
  },
  "core/audits/bf-cache.js | failureTypeColumn": {
    "message": "ประเภทความล้มเหลว"
  },
  "core/audits/bf-cache.js | notActionableFailureType": {
    "message": "ดำเนินการไม่ได้"
  },
  "core/audits/bf-cache.js | supportPendingFailureType": {
    "message": "รอการรองรับเบราว์เซอร์"
  },
  "core/audits/bf-cache.js | title": {
    "message": "หน้าเว็บไม่ได้ป้องกันการกู้คืนฟีเจอร์ Back-Forward Cache"
  },
  "core/audits/bf-cache.js | warningHeadless": {
    "message": "ไม่สามารถทดสอบ Back-Forward Cache ใน Chrome แบบ Headless เวอร์ชันเก่า (`--chrome-flags=\"--headless=old\"`) หากต้องการดูผลการตรวจสอบ ให้ใช้ Chrome แบบ Headless เวอร์ชันใหม่ (`--chrome-flags=\"--headless=new\"`) หรือ Chrome มาตรฐาน"
  },
  "core/audits/bootup-time.js | chromeExtensionsWarning": {
    "message": "ส่วนขยาย Chrome ส่งผลเสียต่อประสิทธิภาพในการโหลดของหน้านี้ ลองตรวจสอบหน้าในโหมดไม่ระบุตัวตนหรือจากโปรไฟล์ Chrome ที่ไม่มีส่วนขยาย"
  },
  "core/audits/bootup-time.js | columnScriptEval": {
    "message": "การประเมินสคริปต์"
  },
  "core/audits/bootup-time.js | columnScriptParse": {
    "message": "การแยกวิเคราะห์สคริปต์"
  },
  "core/audits/bootup-time.js | columnTotal": {
    "message": "เวลา CPU รวม"
  },
  "core/audits/bootup-time.js | description": {
    "message": "พิจารณาลดเวลาที่ใช้ในการแยกวิเคราะห์ คอมไพล์ และประมวลผล JS การส่งเพย์โหลด JS ปริมาณน้อยลงอาจช่วยในเรื่องนี้ได้ [ดูวิธีลดเวลาประมวลผล JavaScript](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/)"
  },
  "core/audits/bootup-time.js | failureTitle": {
    "message": "ลดเวลาในการดำเนินการกับ JavaScript"
  },
  "core/audits/bootup-time.js | title": {
    "message": "เวลาในการดำเนินการกับ JavaScript"
  },
  "core/audits/byte-efficiency/total-byte-weight.js | description": {
    "message": "เพย์โหลดปริมาณมากของเครือข่ายทำให้ผู้ใช้เสียค่าใช้จ่ายสูงและสัมพันธ์กับเวลาการโหลดนานเป็นอย่างมาก [ดูวิธีลดขนาดของเพย์โหลด](https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight/)"
  },
  "core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
    "message": "ขนาดรวมเดิมคือ {totalBytes, number, bytes} KiB"
  },
  "core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
    "message": "หลีกเลี่ยงเปย์โหลดเครือข่ายปริมาณมาก"
  },
  "core/audits/byte-efficiency/total-byte-weight.js | title": {
    "message": "หลีกเลี่ยงเปย์โหลดเครือข่ายปริมาณมาก"
  },
  "core/audits/byte-efficiency/unminified-css.js | description": {
    "message": "การลดขนาดไฟล์ CSS ช่วยลดขนาดเพย์โหลดของเครือข่ายได้ [ดูวิธีลดขนาด CSS](https://developer.chrome.com/docs/lighthouse/performance/unminified-css/)"
  },
  "core/audits/byte-efficiency/unminified-css.js | title": {
    "message": "ลดขนาด CSS"
  },
  "core/audits/byte-efficiency/unminified-javascript.js | description": {
    "message": "การลดขนาดไฟล์ JavaScript ช่วยลดขนาดเพย์โหลดและเวลาในการแยกวิเคราะห์สคริปต์ได้ [ดูวิธีลดขนาด JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/)"
  },
  "core/audits/byte-efficiency/unminified-javascript.js | title": {
    "message": "ลดขนาด JavaScript"
  },
  "core/audits/byte-efficiency/unused-css-rules.js | description": {
    "message": "ลดกฎที่ไม่ได้ใช้ในสไตล์ชีตและเลื่อนเวลาโหลด CSS ที่ไม่ได้ใช้สำหรับเนื้อหาครึ่งหน้าบนเพื่อลดจำนวนไบต์ที่กิจกรรมเครือข่ายใช้ [ดูวิธีลด CSS ที่ไม่ได้ใช้](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/)"
  },
  "core/audits/byte-efficiency/unused-css-rules.js | title": {
    "message": "ลด CSS ที่ไม่ได้ใช้"
  },
  "core/audits/byte-efficiency/unused-javascript.js | description": {
    "message": "ลดจำนวน JavaScript ที่ไม่ได้ใช้และเลื่อนเวลาโหลดสคริปต์ไปจนกว่าจะจำเป็นต้องใช้เพื่อลดจำนวนไบต์ที่กิจกรรมเครือข่ายใช้ [ดูวิธีลด JavaScript ที่ไม่ได้ใช้](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/)"
  },
  "core/audits/byte-efficiency/unused-javascript.js | title": {
    "message": "ลดจำนวน JavaScript ที่ไม่ได้ใช้"
  },
  "core/audits/clickjacking-mitigation.js | columnSeverity": {
    "message": "ความรุนแรง"
  },
  "core/audits/clickjacking-mitigation.js | description": {
    "message": "ส่วนหัว `X-Frame-Options` (XFO) หรือคําสั่ง `frame-ancestors` ในส่วนควบคุมส่วนหัว `Content-Security-Policy` (CSP) ซึ่งสามารถฝังหน้าเว็บได้ วิธีการเหล่านี้ลดการโจมตีแบบ Clickjacking ได้โดยบล็อกบางเว็บไซต์หรือทุกเว็บไซต์ไม่ให้ฝังหน้าเว็บ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการลดการโจมตีแบบ Clickjacking](https://developer.chrome.com/docs/lighthouse/best-practices/clickjacking-mitigation)"
  },
  "core/audits/clickjacking-mitigation.js | noClickjackingMitigation": {
    "message": "ไม่พบนโยบายการควบคุมเฟรม"
  },
  "core/audits/clickjacking-mitigation.js | title": {
    "message": "ป้องกัน Clickjacking ด้วย XFO หรือ CSP"
  },
  "core/audits/csp-xss.js | columnDirective": {
    "message": "คำสั่ง"
  },
  "core/audits/csp-xss.js | columnSeverity": {
    "message": "ความรุนแรง"
  },
  "core/audits/csp-xss.js | description": {
    "message": "นโยบายรักษาความปลอดภัยเนื้อหา (CSP) ที่มีประสิทธิภาพช่วยลดความเสี่ยงต่อการโจมตี Cross-site Scripting (XSS) ได้อย่างมาก [ดูวิธีใช้ CSP เพื่อป้องกัน XSS](https://developer.chrome.com/docs/lighthouse/best-practices/csp-xss/)"
  },
  "core/audits/csp-xss.js | itemSeveritySyntax": {
    "message": "ไวยากรณ์"
  },
  "core/audits/csp-xss.js | metaTagMessage": {
    "message": "หน้าเว็บมีการกำหนด CSP ในแท็ก `<meta>` ลองย้าย CSP ไปยังส่วนหัว HTTP หรือกำหนด CSP ที่เข้มงวดอื่นๆ ในส่วนหัว HTTP"
  },
  "core/audits/csp-xss.js | noCsp": {
    "message": "ไม่พบ CSP ในโหมดบังคับใช้"
  },
  "core/audits/csp-xss.js | title": {
    "message": "ตรวจสอบว่า CSP มีผลกับการโจมตี XSS"
  },
  "core/audits/deprecations.js | columnDeprecate": {
    "message": "การเลิกใช้งาน / คำเตือน"
  },
  "core/audits/deprecations.js | columnLine": {
    "message": "บรรทัด"
  },
  "core/audits/deprecations.js | description": {
    "message": "API ที่เลิกใช้งานแล้วจะถูกนำออกจากเบราว์เซอร์ในท้ายที่สุด [ดูข้อมูลเพิ่มเติมเกี่ยวกับ API ที่เลิกใช้งานแล้ว](https://developer.chrome.com/docs/lighthouse/best-practices/deprecations/)"
  },
  "core/audits/deprecations.js | displayValue": {
    "message": "{itemCount,plural, =1{พบคำเตือน 1 รายการ}other{พบคำเตือน # รายการ}}"
  },
  "core/audits/deprecations.js | failureTitle": {
    "message": "ใช้ API ที่เลิกใช้งานแล้ว"
  },
  "core/audits/deprecations.js | title": {
    "message": "หลีกเลี่ยงการใช้ API ที่เลิกใช้งานแล้ว"
  },
  "core/audits/dobetterweb/charset.js | description": {
    "message": "จำเป็นต้องประกาศการเข้ารหัสอักขระ ซึ่งทำได้โดยใช้แท็ก `<meta>` ใน 1024 ไบต์แรกของ HTML หรือในส่วนหัวการตอบกลับ HTTP ประเภทเนื้อหา [ดูข้อมูลเพิ่มเติมเกี่ยวกับการประกาศการเข้ารหัสอักขระ](https://developer.chrome.com/docs/lighthouse/best-practices/charset/)"
  },
  "core/audits/dobetterweb/charset.js | failureTitle": {
    "message": "ไม่มีการประกาศชุดอักขระหรือประกาศช้าเกินไปใน HTML"
  },
  "core/audits/dobetterweb/charset.js | title": {
    "message": "กำหนดชุดอักขระได้อย่างถูกต้อง"
  },
  "core/audits/dobetterweb/doctype.js | description": {
    "message": "การระบุ DOCTYPE ช่วยป้องกันไม่ให้เบราว์เซอร์เปลี่ยนไปใช้โหมดที่ไม่มาตรฐาน [ดูข้อมูลเพิ่มเติมเกี่ยวกับการประกาศ DOCTYPE](https://developer.chrome.com/docs/lighthouse/best-practices/doctype/)"
  },
  "core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
    "message": "ชื่อ DOCTYPE ต้องเป็นสตริง `html`"
  },
  "core/audits/dobetterweb/doctype.js | explanationLimitedQuirks": {
    "message": "เอกสารมี `doctype` ที่ทริกเกอร์ `limited-quirks-mode`"
  },
  "core/audits/dobetterweb/doctype.js | explanationNoDoctype": {
    "message": "เอกสารต้องมี DOCTYPE"
  },
  "core/audits/dobetterweb/doctype.js | explanationPublicId": {
    "message": "สตริง publicId ควรจะว่าง"
  },
  "core/audits/dobetterweb/doctype.js | explanationSystemId": {
    "message": "สตริง systemId ควรจะว่าง"
  },
  "core/audits/dobetterweb/doctype.js | explanationWrongDoctype": {
    "message": "เอกสารมี `doctype` ที่ทริกเกอร์ `quirks-mode`"
  },
  "core/audits/dobetterweb/doctype.js | failureTitle": {
    "message": "หน้าไม่มี DOCTYPE HTML ดังนั้นจึงทริกเกอร์โหมดที่ไม่มาตรฐาน"
  },
  "core/audits/dobetterweb/doctype.js | title": {
    "message": "หน้ามี DOCTYPE HTML"
  },
  "core/audits/dobetterweb/geolocation-on-start.js | description": {
    "message": "ผู้ใช้ไม่เชื่อถือหรือเกิดความสับสนในเว็บไซต์ที่ขอข้อมูลตำแหน่งโดยไม่มีบริบทให้ พิจารณาผูกคำขอกับการกระทำของผู้ใช้แทน [ดูข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์เข้าถึงตำแหน่งทางภูมิศาสตร์](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/)"
  },
  "core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
    "message": "ขอสิทธิ์เข้าถึงตำแหน่งทางภูมิศาสตร์ในการโหลดหน้าเว็บ"
  },
  "core/audits/dobetterweb/geolocation-on-start.js | title": {
    "message": "หลีกเลี่ยงการขอสิทธิ์เข้าถึงตำแหน่งทางภูมิศาสตร์ในการโหลดหน้าเว็บ"
  },
  "core/audits/dobetterweb/inspector-issues.js | columnIssueType": {
    "message": "ประเภทปัญหา"
  },
  "core/audits/dobetterweb/inspector-issues.js | description": {
    "message": "ปัญหาต่างๆ ที่บันทึกไว้ในแผง `Issues` ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome บ่งบอกว่าเป็นปัญหาที่ยังไม่ได้รับการแก้ไข โดยอาจมาจากคำขอเครือข่ายที่ไม่ประสบความสำเร็จ การควบคุมด้านความปลอดภัยที่ไม่เพียงพอ และข้อกังวลอื่นๆ เกี่ยวกับเบราว์เซอร์ เปิดแผง \"ปัญหา\" ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome เพื่อดูรายละเอียดเพิ่มเติมของแต่ละปัญหา"
  },
  "core/audits/dobetterweb/inspector-issues.js | failureTitle": {
    "message": "บันทึกปัญหาไว้แล้วในแผง `Issues` ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome"
  },
  "core/audits/dobetterweb/inspector-issues.js | issueTypeBlockedByResponse": {
    "message": "ถูกบล็อกโดยนโยบายข้ามต้นทาง"
  },
  "core/audits/dobetterweb/inspector-issues.js | issueTypeHeavyAds": {
    "message": "การใช้ทรัพยากรปริมาณมากของโฆษณา"
  },
  "core/audits/dobetterweb/inspector-issues.js | title": {
    "message": "ไม่พบปัญหาในแผง `Issues` ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome"
  },
  "core/audits/dobetterweb/js-libraries.js | columnVersion": {
    "message": "เวอร์ชัน"
  },
  "core/audits/dobetterweb/js-libraries.js | description": {
    "message": "ตรวจพบไลบรารี JavaScript ส่วนหน้าทั้งหมดในหน้าเว็บ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบการวินิจฉัยไลบรารี JavaScript นี้](https://developer.chrome.com/docs/lighthouse/best-practices/js-libraries/)"
  },
  "core/audits/dobetterweb/js-libraries.js | title": {
    "message": "ตรวจพบไลบรารี JavaScript"
  },
  "core/audits/dobetterweb/notification-on-start.js | description": {
    "message": "ผู้ใช้ไม่เชื่อถือหรือเกิดความสับสนในเว็บไซต์ที่ขอส่งการแจ้งเตือนโดยไม่มีบริบทให้ พิจารณาผูกคำขอกับท่าทางสัมผัสของผู้ใช้แทน [ดูข้อมูลเพิ่มเติมเกี่ยวกับการขอสิทธิ์ในการแสดงการแจ้งเตือนอย่างมีความรับผิดชอบ](https://developer.chrome.com/docs/lighthouse/best-practices/notification-on-start/)"
  },
  "core/audits/dobetterweb/notification-on-start.js | failureTitle": {
    "message": "ขอสิทธิ์การแจ้งเตือนในการโหลดหน้าเว็บ"
  },
  "core/audits/dobetterweb/notification-on-start.js | title": {
    "message": "หลีกเลี่ยงการขอสิทธิ์การแจ้งเตือนในการโหลดหน้าเว็บ"
  },
  "core/audits/dobetterweb/paste-preventing-inputs.js | description": {
    "message": "การป้องกันการวางอินพุตเป็นแนวทางปฏิบัติที่ไม่เหมาะสมสำหรับ UX และทำให้การรักษาความปลอดภัยหละหลวมด้วยการบล็อกเครื่องมือจัดการรหัสผ่าน[ดูข้อมูลเพิ่มเติมเกี่ยวกับช่องป้อนข้อมูลที่ใช้ง่าย](https://developer.chrome.com/docs/lighthouse/best-practices/paste-preventing-inputs/)"
  },
  "core/audits/dobetterweb/paste-preventing-inputs.js | failureTitle": {
    "message": "ป้องกันไม่ให้ผู้ใช้วางข้อมูลในช่อง"
  },
  "core/audits/dobetterweb/paste-preventing-inputs.js | title": {
    "message": "อนุญาตผู้ใช้ให้วางข้อมูลในช่องได้"
  },
  "core/audits/errors-in-console.js | description": {
    "message": "ข้อผิดพลาดที่บันทึกลงในคอนโซลแสดงให้เห็นถึงปัญหาที่ไม่ได้รับการแก้ไข ข้อผิดพลาดอาจมาจากคำขอเครือข่ายที่ไม่สำเร็จ และปัญหาอื่นๆ เกี่ยวกับเบราว์เซอร์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดนี้ในการตรวจสอบการวินิจฉัยของคอนโซล](https://developer.chrome.com/docs/lighthouse/best-practices/errors-in-console/)"
  },
  "core/audits/errors-in-console.js | failureTitle": {
    "message": "บันทึกข้อผิดพลาดเบราว์เซอร์ลงในคอนโซลแล้ว"
  },
  "core/audits/errors-in-console.js | title": {
    "message": "ไม่มีข้อผิดพลาดเบราว์เซอร์บันทึกลงในคอนโซล"
  },
  "core/audits/has-hsts.js | columnDirective": {
    "message": "คำสั่ง"
  },
  "core/audits/has-hsts.js | columnSeverity": {
    "message": "ความรุนแรง"
  },
  "core/audits/has-hsts.js | description": {
    "message": "การติดตั้งใช้งานส่วนหัว HSTS ช่วยลดความเสี่ยงในการดาวน์เกรดการเชื่อมต่อ HTTP และการโจมตีแบบดักฟังได้อย่างมาก ขอแนะนําให้เปิดตัวทีละขั้น โดยเริ่มต้นด้วยค่า max-age ที่ต่ำ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้นโยบาย HSTS ที่รัดกุม](https://developer.chrome.com/docs/lighthouse/best-practices/has-hsts)"
  },
  "core/audits/has-hsts.js | invalidSyntax": {
    "message": "ไวยากรณ์ไม่ถูกต้อง"
  },
  "core/audits/has-hsts.js | lowMaxAge": {
    "message": "`max-age` ต่ำเกินไป"
  },
  "core/audits/has-hsts.js | noHsts": {
    "message": "ไม่พบส่วนหัว HSTS"
  },
  "core/audits/has-hsts.js | noMaxAge": {
    "message": "ไม่มีคำสั่ง `max-age`"
  },
  "core/audits/has-hsts.js | noPreload": {
    "message": "ไม่พบคำสั่ง `preload`"
  },
  "core/audits/has-hsts.js | noSubdomain": {
    "message": "ไม่พบคำสั่ง `includeSubDomains`"
  },
  "core/audits/has-hsts.js | title": {
    "message": "ใช้นโยบาย HSTS ที่มีประสิทธิภาพ"
  },
  "core/audits/image-aspect-ratio.js | columnActual": {
    "message": "สัดส่วนภาพ (ขนาดจริง)"
  },
  "core/audits/image-aspect-ratio.js | columnDisplayed": {
    "message": "สัดส่วนภาพ (ที่แสดง)"
  },
  "core/audits/image-aspect-ratio.js | description": {
    "message": "ขนาดแสดงรูปภาพควรจะมีสัดส่วนที่เป็นธรรมชาติ [ดูข้อมูลเพิ่มเติมเกี่ยวกับสัดส่วนภาพ](https://developer.chrome.com/docs/lighthouse/best-practices/image-aspect-ratio/)"
  },
  "core/audits/image-aspect-ratio.js | failureTitle": {
    "message": "แสดงรูปภาพที่มีสัดส่วนไม่ถูกต้อง"
  },
  "core/audits/image-aspect-ratio.js | title": {
    "message": "แสดงรูปภาพที่มีสัดส่วนถูกต้อง"
  },
  "core/audits/image-size-responsive.js | columnActual": {
    "message": "ขนาดจริง"
  },
  "core/audits/image-size-responsive.js | columnDisplayed": {
    "message": "ขนาดที่แสดง"
  },
  "core/audits/image-size-responsive.js | columnExpected": {
    "message": "ขนาดที่คาดไว้"
  },
  "core/audits/image-size-responsive.js | description": {
    "message": "ขนาดตามธรรมชาติของรูปภาพควรได้สัดส่วนกับขนาดการแสดงผลและอัตราส่วนพิกเซลเพื่อเพิ่มความชัดเจนของรูปภาพให้ได้มากที่สุด [ดูวิธีใส่รูปภาพที่ปรับเปลี่ยนตามอุปกรณ์](https://web.dev/articles/serve-responsive-images)"
  },
  "core/audits/image-size-responsive.js | failureTitle": {
    "message": "แสดงรูปภาพที่มีความละเอียดต่ำ"
  },
  "core/audits/image-size-responsive.js | title": {
    "message": "แสดงรูปภาพที่มีความละเอียดเหมาะสม"
  },
  "core/audits/insights/cls-culprits-insight.js | columnScore": {
    "message": "คะแนนการเปลี่ยนเลย์เอาต์"
  },
  "core/audits/is-on-https.js | allowed": {
    "message": "อนุญาต"
  },
  "core/audits/is-on-https.js | blocked": {
    "message": "ถูกบล็อก"
  },
  "core/audits/is-on-https.js | columnInsecureURL": {
    "message": "URL ไม่ปลอดภัย"
  },
  "core/audits/is-on-https.js | columnResolution": {
    "message": "การแก้ไขปัญหาตามคำขอ"
  },
  "core/audits/is-on-https.js | description": {
    "message": "ควรปกป้องทุกเว็บไซต์ด้วยการใช้ HTTPS แม้ว่าจะเป็นเว็บไซต์ที่ไม่มีข้อมูลที่ละเอียดอ่อนก็ตาม ซึ่งรวมถึงการหลีกเลี่ยง[เนื้อหาผสม](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content)ที่มีการโหลดทรัพยากรบางอย่างผ่าน HTTP แม้ว่าคำขอเริ่มแรกจะดำเนินการผ่าน HTTPS ก็ตาม HTTPS ป้องกันผู้บุกรุกไม่ให้แทรกแซงหรือแอบฟังการสื่อสารระหว่างแอปกับผู้ใช้ของคุณ และเป็นข้อกำหนดที่ต้องทำก่อนสำหรับ HTTP/2 รวมถึง API ของแพลตฟอร์มเว็บใหม่ๆ อีกมาก [ดูข้อมูลเพิ่มเติมเกี่ยว HTTPS](https://developer.chrome.com/docs/lighthouse/pwa/is-on-https/)"
  },
  "core/audits/is-on-https.js | displayValue": {
    "message": "{itemCount,plural, =1{พบคำขอที่ไม่ปลอดภัย 1 รายการ}other{พบคำขอที่ไม่ปลอดภัย # รายการ}}"
  },
  "core/audits/is-on-https.js | failureTitle": {
    "message": "ไม่ได้ใช้ HTTPS"
  },
  "core/audits/is-on-https.js | title": {
    "message": "ใช้ HTTPS"
  },
  "core/audits/is-on-https.js | upgraded": {
    "message": "อัปเกรดเป็น HTTPS โดยอัตโนมัติ"
  },
  "core/audits/is-on-https.js | warning": {
    "message": "อนุญาตแบบมีคำเตือน"
  },
  "core/audits/layout-shifts.js | columnScore": {
    "message": "คะแนนการเปลี่ยนเลย์เอาต์"
  },
  "core/audits/layout-shifts.js | description": {
    "message": "สิ่งเหล่านี้เป็นการเปลี่ยนเลย์เอาต์ที่ใหญ่ที่สุดที่พบบนหน้าเว็บ แต่ละรายการในตารางจะแสดงการเปลี่ยนเลย์เอาต์รายการเดียว พร้อมระบุองค์ประกอบที่มีการเปลี่ยนแปลงมากที่สุด ด้านล่างของแต่ละรายการคือสาเหตุที่เป็นไปได้ซึ่งนำไปสู่การเปลี่ยนเลย์เอาต์ การเปลี่ยนเลย์เอาต์เหล่านี้บางรายการอาจไม่รวมอยู่ในค่าเมตริก CLS อันเนื่องมาจาก[การจัดกรอบเวลา](https://web.dev/articles/cls#what_is_cls) [ดูวิธีเพิ่มประสิทธิภาพ CLS](https://web.dev/articles/optimize-cls)"
  },
  "core/audits/layout-shifts.js | displayValueShiftsFound": {
    "message": "{shiftCount,plural, =1{พบการเปลี่ยนเลย์เอาต์ 1 รายการ}other{พบการเปลี่ยนเลย์เอาต์ # รายการ}}"
  },
  "core/audits/layout-shifts.js | rootCauseFontChanges": {
    "message": "มีการโหลดแบบอักษรเว็บ"
  },
  "core/audits/layout-shifts.js | rootCauseInjectedIframe": {
    "message": "มีการแทรก iframe"
  },
  "core/audits/layout-shifts.js | rootCauseUnsizedMedia": {
    "message": "องค์ประกอบสื่อมีขนาดที่ไม่เหมาะสม"
  },
  "core/audits/layout-shifts.js | title": {
    "message": "หลีกเลี่ยงการเลื่อนเลย์เอาต์ขนาดใหญ่"
  },
  "core/audits/long-tasks.js | description": {
    "message": "ระบุงานที่ใช้เวลานานที่สุดในเทรดหลัก เหมาะสำหรับการระบุปัจจัยที่แย่ที่สุดที่ทำให้อินพุตล่าช้า [ดูวิธีหลีกเลี่ยงงานในเทรดหลักที่ใช้เวลานาน](https://web.dev/articles/optimize-long-tasks)"
  },
  "core/audits/long-tasks.js | displayValue": {
    "message": "{itemCount,plural, =1{พบ # งานที่ใช้เวลานาน}other{พบ # งานที่ใช้เวลานาน}}"
  },
  "core/audits/long-tasks.js | title": {
    "message": "หลีกเลี่ยงงานในเทรดหลักที่ใช้เวลานาน"
  },
  "core/audits/mainthread-work-breakdown.js | columnCategory": {
    "message": "หมวดหมู่"
  },
  "core/audits/mainthread-work-breakdown.js | description": {
    "message": "พิจารณาลดเวลาที่ใช้ในการแยกวิเคราะห์ แปลโปรแกรม และดำเนินการกับ JS การส่งเพย์โหลด JS ปริมาณน้อยลงอาจช่วยในเรื่องนี้ได้ [ดูวิธีลดงานเทรดหลัก](https://developer.chrome.com/docs/lighthouse/performance/mainthread-work-breakdown/)"
  },
  "core/audits/mainthread-work-breakdown.js | failureTitle": {
    "message": "ลดการทำงานของเธรดหลัก"
  },
  "core/audits/mainthread-work-breakdown.js | title": {
    "message": "ลดการทำงานของเธรดหลัก"
  },
  "core/audits/metrics/cumulative-layout-shift.js | description": {
    "message": "การเปลี่ยนเลย์เอาต์สะสมจะวัดการเคลื่อนไหวขององค์ประกอบที่มองเห็นได้ภายในวิวพอร์ต [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริก Cumulative Layout Shift](https://web.dev/articles/cls)"
  },
  "core/audits/metrics/first-contentful-paint.js | description": {
    "message": "First Contentful Paint ระบุเวลาที่มีการแสดงผลข้อความหรือรูปภาพครั้งแรก [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริก First Contentful Paint](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/)"
  },
  "core/audits/metrics/interaction-to-next-paint.js | description": {
    "message": "การโต้ตอบกับ Next Paint จะวัดการตอบสนองของหน้าเว็บ ซึ่งเป็นระยะเวลาที่หน้าเว็บใช้ในการตอบสนองต่ออินพุตของผู้ใช้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริก การโต้ตอบกับ Next Paint](https://web.dev/articles/inp)"
  },
  "core/audits/metrics/interactive.js | description": {
    "message": "เวลาในการตอบสนองคือระยะเวลาที่หน้าเว็บใช้ในการตอบสนองอย่างสมบูรณ์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริกเวลาในการตอบสนอง](https://developer.chrome.com/docs/lighthouse/performance/interactive/)"
  },
  "core/audits/metrics/largest-contentful-paint.js | description": {
    "message": "Largest Contentful Paint ระบุเวลาที่แสดงผลข้อความหรือรูปภาพได้มากที่สุด [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริก Largest Contentful Paint](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)"
  },
  "core/audits/metrics/max-potential-fid.js | description": {
    "message": "First Input Delay สูงสุดที่อาจเกิดขึ้นซึ่งผู้ใช้อาจเจอคือระยะเวลาของงานที่ยาวที่สุด [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริก First Input Delay สูงสุดที่อาจเกิดขึ้น](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-max-potential-fid/)"
  },
  "core/audits/metrics/speed-index.js | description": {
    "message": "Speed Index แสดงให้เห็นความเร็วที่เนื้อหาของหน้าปรากฏจนดูสมบูรณ์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริก Speed Index](https://developer.chrome.com/docs/lighthouse/performance/speed-index/)"
  },
  "core/audits/metrics/total-blocking-time.js | description": {
    "message": "ผลรวมช่วงเวลาทั้งหมดระหว่าง FCP และเวลาในการตอบสนอง เมื่อความยาวของงานเกิน 50ms หน่วยเป็นมิลลิวินาที [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริกเวลาทั้งหมดในการบล็อก](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-total-blocking-time/)"
  },
  "core/audits/network-rtt.js | description": {
    "message": "ระยะเวลารับส่งข้อมูล (RTT) ของเครือข่ายมีผลกระทบอย่างมากต่อประสิทธิภาพ หากต้นทางมี RTT สูง แสดงว่าเซิร์ฟเวอร์ที่อยู่ใกล้กับผู้ใช้มากกว่าอาจช่วยปรับปรุงประสิทธิภาพได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับระยะเวลารับส่งข้อมูล](https://hpbn.co/primer-on-latency-and-bandwidth/)"
  },
  "core/audits/network-rtt.js | title": {
    "message": "ระยะเวลารับส่งข้อมูลของเครือข่าย"
  },
  "core/audits/network-server-latency.js | description": {
    "message": "เวลาในการตอบสนองต่อเซิร์ฟเวอร์อาจส่งผลกระทบต่อประสิทธิภาพของเว็บ หากต้นทางใช้เวลาในการตอบสนองต่อเซิร์ฟเวอร์นาน แสดงว่ามีการใช้งานเซิร์ฟเวอร์มากเกินไปหรือประสิทธิภาพแบ็กเอนด์ของเซิร์ฟเวอร์ไม่ดี [ดูข้อมูลเพิ่มเติมเกี่ยวกับเวลาในการตอบสนองของเซิร์ฟเวอร์](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall)"
  },
  "core/audits/network-server-latency.js | title": {
    "message": "เวลาในการตอบสนองจากแบ็กเอนด์ของเซิร์ฟเวอร์"
  },
  "core/audits/non-composited-animations.js | description": {
    "message": "ภาพเคลื่อนไหวที่ไม่ได้ทำการ Composite อาจมีคุณภาพต่ำและทำให้ CLS เพิ่มขึ้น [ดูวิธีหลีกเลี่ยงภาพเคลื่อนไหวที่ไม่ได้ทำการ Composite](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)"
  },
  "core/audits/non-composited-animations.js | displayValue": {
    "message": "{itemCount,plural, =1{พบองค์ประกอบของภาพเคลื่อนไหว # รายการ}other{พบองค์ประกอบของภาพเคลื่อนไหว # รายการ}}"
  },
  "core/audits/non-composited-animations.js | filterMayMovePixels": {
    "message": "พร็อพเพอร์ตี้ที่เกี่ยวข้องกับตัวกรองอาจทำให้พิกเซลเคลื่อนที่"
  },
  "core/audits/non-composited-animations.js | incompatibleAnimations": {
    "message": "เป้าหมายมีภาพเคลื่อนไหวอื่นที่ใช้ร่วมกันไม่ได้"
  },
  "core/audits/non-composited-animations.js | nonReplaceCompositeMode": {
    "message": "เอฟเฟกต์มีโหมด Composite อื่นที่ไม่ใช่ \"replace\""
  },
  "core/audits/non-composited-animations.js | title": {
    "message": "หลีกเลี่ยงการใช้ภาพเคลื่อนไหวที่ไม่ได้ทำการ Composite"
  },
  "core/audits/non-composited-animations.js | transformDependsBoxSize": {
    "message": "พร็อพเพอร์ตี้ที่เกี่ยวข้องกับการเปลี่ยนรูปแบบจะขึ้นอยู่กับขนาดช่อง"
  },
  "core/audits/non-composited-animations.js | unsupportedCSSProperty": {
    "message": "{propertyCount,plural, =1{มีพร็อพเพอร์ตี้ CSS ที่ไม่รองรับ {properties}}other{มีพร็อพเพอร์ตี้ CSS ที่ไม่รองรับ {properties}}}"
  },
  "core/audits/non-composited-animations.js | unsupportedCustomCSSProperty": {
    "message": "{propertyCount,plural, =1{พร็อพเพอร์ตี้ CSS ที่กำหนดเองไม่สามารถเคลื่อนไหวใน Compositor ได้: {properties}}other{พร็อพเพอร์ตี้ CSS ที่กำหนดเองไม่สามารถเคลื่อนไหวใน Compositor ได้: {properties}}}"
  },
  "core/audits/non-composited-animations.js | unsupportedTimingParameters": {
    "message": "เอฟเฟกต์มีพารามิเตอร์การจับเวลาที่ไม่รองรับ"
  },
  "core/audits/origin-isolation.js | columnDirective": {
    "message": "คำสั่ง"
  },
  "core/audits/origin-isolation.js | columnSeverity": {
    "message": "ความรุนแรง"
  },
  "core/audits/origin-isolation.js | description": {
    "message": "สามารถใช้ Cross-Origin-Opener-Policy (COOP) เพื่อแยกหน้าต่างระดับบนสุดออกจากเอกสารอื่นๆ เช่น ป๊อปอัป [ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งใช้งานส่วนหัว COOP](https://web.dev/articles/why-coop-coep#coop)"
  },
  "core/audits/origin-isolation.js | invalidSyntax": {
    "message": "ไวยากรณ์ไม่ถูกต้อง"
  },
  "core/audits/origin-isolation.js | noCoop": {
    "message": "ไม่พบส่วนหัว COOP"
  },
  "core/audits/origin-isolation.js | title": {
    "message": "รับรองว่าแยกต้นทางอย่างเหมาะสมด้วย COOP"
  },
  "core/audits/redirects-http.js | description": {
    "message": "โปรดตรวจสอบว่าคุณเปลี่ยนเส้นทางการเข้าชมผ่าน HTTP ทั้งหมดไปยัง HTTPS เพื่อเปิดใช้ฟีเจอร์เว็บที่ปลอดภัยให้กับผู้ใช้ทั้งหมด [ดูข้อมูลเพิ่มเติม](https://developer.chrome.com/docs/lighthouse/pwa/redirects-http/)"
  },
  "core/audits/redirects-http.js | failureTitle": {
    "message": "ไม่ได้เปลี่ยนเส้นทางการเข้าชมผ่าน HTTP ไปยัง HTTPS"
  },
  "core/audits/redirects-http.js | title": {
    "message": "เปลี่ยนเส้นทางการเข้าชมผ่าน HTTP ไปยัง HTTPS"
  },
  "core/audits/redirects.js | description": {
    "message": "การเปลี่ยนเส้นทางทำให้เกิดความล่าช้ามากขึ้นก่อนที่หน้าเว็บจะโหลดได้ [ดูวิธีหลีกเลี่ยงการเปลี่ยนเส้นทางหน้าเว็บ](https://developer.chrome.com/docs/lighthouse/performance/redirects/)"
  },
  "core/audits/redirects.js | title": {
    "message": "หลีกเลี่ยงการเปลี่ยนเส้นทางหลายหน้า"
  },
  "core/audits/seo/canonical.js | description": {
    "message": "ลิงก์ Canonical จะบอกถึง URL ที่จะแสดงในผลการค้นหา [ดูข้อมูลเพิ่มเติมเกี่ยวกับลิงก์ Canonical](https://developer.chrome.com/docs/lighthouse/seo/canonical/)"
  },
  "core/audits/seo/canonical.js | explanationConflict": {
    "message": "URL หลายรายการขัดแย้งกัน ({urlList})"
  },
  "core/audits/seo/canonical.js | explanationInvalid": {
    "message": "URL ไม่ถูกต้อง ({url})"
  },
  "core/audits/seo/canonical.js | explanationPointsElsewhere": {
    "message": "ชี้ไปที่ `hreflang` ตำแหน่งอื่น ({url})"
  },
  "core/audits/seo/canonical.js | explanationRelative": {
    "message": "ไม่ใช่ URL ที่สมบูรณ์ ({url})"
  },
  "core/audits/seo/canonical.js | explanationRoot": {
    "message": "ชี้ไปที่ URL ระดับรากของโดเมน (หน้าแรก) แทนที่จะเป็นหน้าที่เทียบเท่ากันของเนื้อหา"
  },
  "core/audits/seo/canonical.js | failureTitle": {
    "message": "เอกสารไม่มี `rel=canonical` ที่ถูกต้อง"
  },
  "core/audits/seo/canonical.js | title": {
    "message": "เอกสารมี `rel=canonical` ที่ถูกต้อง"
  },
  "core/audits/seo/crawlable-anchors.js | columnFailingLink": {
    "message": "รวบรวมข้อมูลลิงก์ไม่ได้"
  },
  "core/audits/seo/crawlable-anchors.js | description": {
    "message": "เครื่องมือค้นหาอาจใช้แอตทริบิวต์ `href` ในลิงก์เพื่อทำการ Crawl เว็บไซต์ โปรดตรวจสอบว่าแอตทริบิวต์ `href` ขององค์ประกอบแท็ก Anchor ลิงก์กับปลายทางที่เหมาะสมเพื่อให้ระบบค้นพบหน้าอื่นๆ ของเว็บไซต์ได้ [ดูวิธีทำให้ลิงก์เป็นลิงก์ที่ระบบทำการ Crawl ได้](https://support.google.com/webmasters/answer/9112205)"
  },
  "core/audits/seo/crawlable-anchors.js | failureTitle": {
    "message": "รวบรวมข้อมูลลิงก์ไม่ได้"
  },
  "core/audits/seo/crawlable-anchors.js | title": {
    "message": "รวบรวมข้อมูลลิงก์ได้"
  },
  "core/audits/seo/hreflang.js | description": {
    "message": "ลิงก์ hreflang จะบอกให้เครื่องมือค้นหาทราบถึงเวอร์ชันของหน้าเว็บที่ควรแสดงในผลการค้นหาสำหรับแต่ละภาษาหรือภูมิภาค [ดูข้อมูลเพิ่มเติมเกี่ยวกับ `hreflang`](https://developer.chrome.com/docs/lighthouse/seo/hreflang/)"
  },
  "core/audits/seo/hreflang.js | failureTitle": {
    "message": "เอกสารไม่มี `hreflang` ที่ถูกต้อง"
  },
  "core/audits/seo/hreflang.js | notFullyQualified": {
    "message": "ค่า href แบบสัมพัทธ์"
  },
  "core/audits/seo/hreflang.js | title": {
    "message": "เอกสารมี `hreflang` ที่ถูกต้อง"
  },
  "core/audits/seo/hreflang.js | unexpectedLanguage": {
    "message": "รหัสภาษาที่ไม่คาดคิด"
  },
  "core/audits/seo/http-status-code.js | description": {
    "message": "หน้าเว็บที่มีรหัสสถานะ HTTP ไม่สำเร็จอาจไม่ได้รับการจัดทำดัชนีอย่างถูกต้อง [ดูข้อมูลเพิ่มเติมเกี่ยวกับรหัสสถานะ HTTP](https://developer.chrome.com/docs/lighthouse/seo/http-status-code/)"
  },
  "core/audits/seo/http-status-code.js | failureTitle": {
    "message": "หน้าเว็บมีรหัสสถานะ HTTP ไม่สำเร็จ"
  },
  "core/audits/seo/http-status-code.js | title": {
    "message": "หน้าเว็บมีรหัสสถานะ HTTP สำเร็จ"
  },
  "core/audits/seo/is-crawlable.js | description": {
    "message": "เครื่องมือค้นหาจะรวมหน้าเว็บของคุณไว้ในผลการค้นหาไม่ได้หากไม่มีสิทธิทำการ Crawl หน้าดังกล่าว [ดูข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งสำหรับ Crawler](https://developer.chrome.com/docs/lighthouse/seo/is-crawlable/)"
  },
  "core/audits/seo/is-crawlable.js | failureTitle": {
    "message": "หน้าเว็บถูกบล็อกไม่ให้มีการจัดทำดัชนี"
  },
  "core/audits/seo/is-crawlable.js | title": {
    "message": "หน้าไม่ได้ถูกบล็อกจากการจัดทำดัชนี"
  },
  "core/audits/seo/link-text.js | description": {
    "message": "ข้อความอธิบายลิงก์ช่วยให้เครื่องมือค้นหาเข้าใจเนื้อหาของคุณ [ดูวิธีทําให้ลิงก์เข้าถึงได้ง่ายขึ้น](https://developer.chrome.com/docs/lighthouse/seo/link-text/)"
  },
  "core/audits/seo/link-text.js | displayValue": {
    "message": "{itemCount,plural, =1{พบ 1 ลิงก์}other{พบ # ลิงก์}}"
  },
  "core/audits/seo/link-text.js | failureTitle": {
    "message": "ลิงก์ไม่มีข้อความอธิบาย"
  },
  "core/audits/seo/link-text.js | title": {
    "message": "ลิงก์มีข้อความอธิบาย"
  },
  "core/audits/seo/manual/structured-data.js | description": {
    "message": "เรียกใช้[เครื่องมือทดสอบ Structured Data](https://developers.google.com/search/docs/appearance/structured-data/) เพื่อตรวจสอบความถูกต้องของ Structured Data [ดูข้อมูลเพิ่มเติมเกี่ยวกับ Structured Data](https://developer.chrome.com/docs/lighthouse/seo/structured-data/)"
  },
  "core/audits/seo/manual/structured-data.js | title": {
    "message": " Structured Data ถูกต้อง"
  },
  "core/audits/seo/meta-description.js | description": {
    "message": "อาจมีการรวมคำอธิบายเมตาในผลการค้นหาเพื่อสรุปเนื้อหาของหน้าเว็บให้สั้นกระชับ [ดูข้อมูลเพิ่มเติมเกี่ยวกับคําอธิบายเมตา](https://developer.chrome.com/docs/lighthouse/seo/meta-description/)"
  },
  "core/audits/seo/meta-description.js | explanation": {
    "message": "ข้อความอธิบายว่างเปล่า"
  },
  "core/audits/seo/meta-description.js | failureTitle": {
    "message": "เอกสารไม่มีคำอธิบายเมตา"
  },
  "core/audits/seo/meta-description.js | title": {
    "message": "เอกสารมีคำอธิบายเมตา"
  },
  "core/audits/seo/robots-txt.js | description": {
    "message": "หากไฟล์ robots.txt มีรูปแบบไม่ถูกต้อง Crawler อาจไม่เข้าใจวิธีที่คุณต้องการให้ Crawl หรือจัดทำดัชนีเว็บไซต์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับ robots.txt](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/)"
  },
  "core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
    "message": "คำขอ robots.txt แสดงสถานะ HTTP ต่อไปนี้ {statusCode}"
  },
  "core/audits/seo/robots-txt.js | displayValueValidationError": {
    "message": "{itemCount,plural, =1{พบข้อผิดพลาด 1 รายการ}other{พบข้อผิดพลาด # รายการ}}"
  },
  "core/audits/seo/robots-txt.js | explanation": {
    "message": "Lighthouse ดาวน์โหลดไฟล์ robots.txt ไม่ได้"
  },
  "core/audits/seo/robots-txt.js | failureTitle": {
    "message": "robots.txt ไม่ถูกต้อง"
  },
  "core/audits/seo/robots-txt.js | title": {
    "message": "robots.txt ถูกต้อง"
  },
  "core/audits/server-response-time.js | description": {
    "message": "พยายามทำให้การตอบกลับของเซิร์ฟเวอร์สำหรับเอกสารหลักใช้เวลาน้อยเนื่องจากคำขออื่นทั้งหมดจะขึ้นอยู่กับเวลานี้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับเมตริก Time To First Byte](https://developer.chrome.com/docs/lighthouse/performance/time-to-first-byte/)"
  },
  "core/audits/server-response-time.js | displayValue": {
    "message": "เอกสารรากใช้เวลา {timeInMs, number, milliseconds} มิลลิวินาที"
  },
  "core/audits/server-response-time.js | failureTitle": {
    "message": "ลดเวลาในการตอบกลับของเซิร์ฟเวอร์ขณะเริ่มแรก"
  },
  "core/audits/server-response-time.js | title": {
    "message": "การตอบกลับของเซิร์ฟเวอร์ขณะเริ่มแรกใช้เวลาน้อย"
  },
  "core/audits/third-party-cookies.js | description": {
    "message": "คุกกี้ของบุคคลที่สามอาจถูกบล็อกในบางบริบท [ดูข้อมูลเพิ่มเติมเกี่ยวกับการเตรียมพร้อมสําหรับข้อจํากัดคุกกี้ของบุคคลที่สาม](https://privacysandbox.google.com/cookies/prepare/overview)"
  },
  "core/audits/third-party-cookies.js | displayValue": {
    "message": "{itemCount,plural, =1{พบคุกกี้ 1 รายการ}other{พบคุกกี้ # รายการ}}"
  },
  "core/audits/third-party-cookies.js | failureTitle": {
    "message": "ใช้คุกกี้ของบุคคลที่สาม"
  },
  "core/audits/third-party-cookies.js | title": {
    "message": "หลีกเลี่ยงการใช้คุกกี้ของบุคคลที่สาม"
  },
  "core/audits/trusted-types-xss.js | columnSeverity": {
    "message": "ความรุนแรง"
  },
  "core/audits/trusted-types-xss.js | description": {
    "message": "คําสั่ง `require-trusted-types-for` ในส่วนหัว `Content-Security-Policy` (CSP) จะสั่งให้ User Agent ควบคุมข้อมูลที่ส่งไปยังฟังก์ชัน DOM XSS Sink [ดูข้อมูลเพิ่มเติมเกี่ยวกับการลดความเสี่ยงของ XSS ที่อิงตาม DOM ด้วย Trusted Types](https://developer.chrome.com/docs/lighthouse/best-practices/trusted-types-xss)"
  },
  "core/audits/trusted-types-xss.js | noTrustedTypesToMitigateXss": {
    "message": "ไม่พบส่วนหัว `Content-Security-Policy` ที่มีคําสั่ง Trusted Types"
  },
  "core/audits/trusted-types-xss.js | title": {
    "message": "ลดความเสี่ยงของ XSS ที่อิงตาม DOM ด้วย Trusted Types"
  },
  "core/audits/unsized-images.js | description": {
    "message": "กำหนดความกว้างและความยาวขององค์ประกอบรูปภาพอย่างชัดเจนเพื่อลดการขยับของเลย์เอาต์และปรับปรุง CLS [ดูวิธีตั้งค่าขนาดรูปภาพ](https://web.dev/articles/optimize-cls#images_without_dimensions)"
  },
  "core/audits/unsized-images.js | failureTitle": {
    "message": "องค์ประกอบรูปภาพไม่มี `width` และ `height` ที่ชัดเจน"
  },
  "core/audits/unsized-images.js | title": {
    "message": "องค์ประกอบรูปภาพมี `width` และ `height` ที่ชัดเจน"
  },
  "core/audits/user-timings.js | columnType": {
    "message": "ประเภท"
  },
  "core/audits/user-timings.js | description": {
    "message": "พิจารณาติดตั้ง User Timing API กับแอปของคุณเพื่อวัดประสิทธิภาพจริงของแอปในประสบการณ์ใช้งานที่สำคัญของผู้ใช้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับคะแนน \"ระยะเวลาของผู้ใช้\"](https://developer.chrome.com/docs/lighthouse/performance/user-timings/)"
  },
  "core/audits/user-timings.js | displayValue": {
    "message": "{itemCount,plural, =1{ระยะเวลาของผู้ใช้ 1 รายการ}other{ระยะเวลาของผู้ใช้ # รายการ}}"
  },
  "core/audits/user-timings.js | title": {
    "message": "ระยะเวลาที่เจาะจงของผู้ใช้และระยะเวลาทั่วไป"
  },
  "core/audits/valid-source-maps.js | columnMapURL": {
    "message": "URL ของแผนที่"
  },
  "core/audits/valid-source-maps.js | description": {
    "message": "แผนที่แหล่งที่มาจะแปลโค้ดที่มีการลดขนาดเป็นซอร์สโค้ดต้นฉบับ ซึ่งจะช่วยนักพัฒนาซอฟต์แวร์ในการแก้ไขข้อบกพร่องในเวอร์ชันที่ใช้งานจริง นอกจากนี้ Lighthouse ยังให้ข้อมูลเชิงลึกเพิ่มเติมได้ด้วย ลองพิจารณานำแผนที่แหล่งที่มาไปใช้งานเพื่อรับประโยชน์ดังกล่าว [ดูข้อมูลเพิ่มเติมเกี่ยวกับการแมปแหล่งที่มา](https://developer.chrome.com/docs/devtools/javascript/source-maps/)"
  },
  "core/audits/valid-source-maps.js | failureTitle": {
    "message": "ไม่มีแผนที่แหล่งที่มาของ JavaScript ขนาดใหญ่ของบุคคลที่หนึ่ง"
  },
  "core/audits/valid-source-maps.js | missingSourceMapErrorMessage": {
    "message": "ไฟล์ JavaScript ขนาดใหญ่ไม่มีแผนที่แหล่งที่มา"
  },
  "core/audits/valid-source-maps.js | missingSourceMapItemsWarningMesssage": {
    "message": "{missingItems,plural, =1{คำเตือน: มี 1 รายการที่ขาดไปใน `.sourcesContent`}other{คำเตือน: มี # รายการที่ขาดไปใน `.sourcesContent`}}"
  },
  "core/audits/valid-source-maps.js | title": {
    "message": "หน้าเว็บมีแผนที่แหล่งที่มาถูกต้อง"
  },
  "core/config/default-config.js | a11yAriaGroupDescription": {
    "message": "นี่เป็นโอกาสปรับปรุงการใช้งาน ARIA ในแอปพลิเคชันของคุณ ซึ่งอาจช่วยให้ผู้ใช้ได้รับประสบการณ์การใช้งานเทคโนโลยีอำนวยความสะดวก เช่น โปรแกรมอ่านหน้าจอ ที่ดียิ่งขึ้น"
  },
  "core/config/default-config.js | a11yAriaGroupTitle": {
    "message": "ARIA"
  },
  "core/config/default-config.js | a11yAudioVideoGroupDescription": {
    "message": "นี่เป็นโอกาสระบุเนื้อหาสำรองสำหรับเสียงและวิดีโอ การดำเนินการนี้อาจช่วยปรับปรุงประสบการณ์ของผู้ใช้ที่มีความบกพร่องทางการได้ยินหรือการมองเห็น"
  },
  "core/config/default-config.js | a11yAudioVideoGroupTitle": {
    "message": "เสียงและวิดีโอ"
  },
  "core/config/default-config.js | a11yBestPracticesGroupDescription": {
    "message": "รายการเหล่านี้ไฮไลต์แนวทางปฏิบัติที่ดีที่สุดที่พบบ่อยของการช่วยเหลือพิเศษ"
  },
  "core/config/default-config.js | a11yBestPracticesGroupTitle": {
    "message": "แนวทางปฏิบัติที่ดีที่สุด"
  },
  "core/config/default-config.js | a11yCategoryDescription": {
    "message": "การตรวจสอบเหล่านี้ไฮไลต์โอกาสในการ[ปรับปรุงการช่วยเหลือพิเศษของเว็บแอป](https://developer.chrome.com/docs/lighthouse/accessibility/) การตรวจหาอัตโนมัติจะตรวจพบเพียงปัญหาชุดย่อยและไม่รับประกันการช่วยเหลือพิเศษของเว็บแอป เราจึงขอแนะนำให้[ตรวจสอบเอง](https://web.dev/articles/how-to-review)ด้วยเช่นกัน"
  },
  "core/config/default-config.js | a11yCategoryManualDescription": {
    "message": "รายการเหล่านี้จัดการพื้นที่ที่เครื่องมือทดสอบอัตโนมัติไม่ครอบคลุม ดูข้อมูลเพิ่มเติมในคำแนะนำเกี่ยวกับ[การดำเนินการตรวจสอบการช่วยเหลือพิเศษ](https://web.dev/articles/how-to-review)"
  },
  "core/config/default-config.js | a11yCategoryTitle": {
    "message": "การช่วยเหลือพิเศษ"
  },
  "core/config/default-config.js | a11yColorContrastGroupDescription": {
    "message": "นี่เป็นโอกาสปรับปรุงความอ่านง่ายของเนื้อหา"
  },
  "core/config/default-config.js | a11yColorContrastGroupTitle": {
    "message": "คอนทราสต์"
  },
  "core/config/default-config.js | a11yLanguageGroupDescription": {
    "message": "นี่เป็นโอกาสปรับปรุงการตีความเนื้อหาของคุณโดยผู้ใช้ภาษาต่างๆ"
  },
  "core/config/default-config.js | a11yLanguageGroupTitle": {
    "message": "การปรับให้เป็นสากลและการแปล"
  },
  "core/config/default-config.js | a11yNamesLabelsGroupDescription": {
    "message": "นี่เป็นโอกาสปรับปรุงความหมายของส่วนควบคุมในแอปพลิเคชันของคุณ การดำเนินการนี้อาจช่วยให้ผู้ใช้ได้รับประสบการณ์การใช้งานเทคโนโลยีอำนวยความสะดวก เช่น โปรแกรมอ่านหน้าจอ ที่ดียิ่งขึ้น"
  },
  "core/config/default-config.js | a11yNamesLabelsGroupTitle": {
    "message": "ชื่อและป้ายกำกับ"
  },
  "core/config/default-config.js | a11yNavigationGroupDescription": {
    "message": "นี่เป็นโอกาสปรับปรุงการไปยังส่วนต่างๆ ในแอปพลิเคชันของคุณด้วยแป้นพิมพ์"
  },
  "core/config/default-config.js | a11yNavigationGroupTitle": {
    "message": "การนำทาง"
  },
  "core/config/default-config.js | a11yTablesListsVideoGroupDescription": {
    "message": "นี่เป็นโอกาสปรับปรุงประสบการณ์การอ่านตารางหรือข้อมูลรายการโดยใช้เทคโนโลยีความช่วยเหลือพิเศษ เช่น โปรแกรมอ่านหน้าจอ"
  },
  "core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
    "message": "ตารางและรายการ"
  },
  "core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
    "message": "ความเข้ากันได้กับเบราว์เซอร์"
  },
  "core/config/default-config.js | bestPracticesCategoryTitle": {
    "message": "แนวทางปฏิบัติที่ดีที่สุด"
  },
  "core/config/default-config.js | bestPracticesGeneralGroupTitle": {
    "message": "ทั่วไป"
  },
  "core/config/default-config.js | bestPracticesTrustSafetyGroupTitle": {
    "message": "ความน่าเชื่อถือและความปลอดภัย"
  },
  "core/config/default-config.js | bestPracticesUXGroupTitle": {
    "message": "ประสบการณ์ของผู้ใช้"
  },
  "core/config/default-config.js | diagnosticsGroupDescription": {
    "message": "ข้อมูลเพิ่มเติมเกี่ยวกับประสิทธิภาพของแอปพลิเคชัน ตัวเลขเหล่านี้ไม่[ส่งผลกระทบโดยตรง](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/)ต่อคะแนนประสิทธิภาพ"
  },
  "core/config/default-config.js | diagnosticsGroupTitle": {
    "message": "การวินิจฉัย"
  },
  "core/config/default-config.js | firstPaintImprovementsGroupDescription": {
    "message": "ประสิทธิภาพที่สำคัญที่สุดคือความเร็วที่พิกเซลแสดงผลในหน้าจอ เมตริกที่สำคัญ ได้แก่ การแสดงผลที่มีเนื้อหาเต็มครั้งแรก การแสดงผลที่มีความหมายครั้งแรก"
  },
  "core/config/default-config.js | firstPaintImprovementsGroupTitle": {
    "message": "การปรับปรุงการแสดงผลครั้งแรก"
  },
  "core/config/default-config.js | insightsGroupDescription": {
    "message": "ข้อมูลเชิงลึกเหล่านี้ยังอยู่ในแผงประสิทธิภาพของเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome ด้วย [บันทึกการติดตาม](https://developer.chrome.com/docs/devtools/performance/reference)เพื่อดูข้อมูลโดยละเอียดเพิ่มเติม"
  },
  "core/config/default-config.js | insightsGroupTitle": {
    "message": "ข้อมูลเชิงลึก"
  },
  "core/config/default-config.js | metricGroupTitle": {
    "message": "เมตริก"
  },
  "core/config/default-config.js | overallImprovementsGroupDescription": {
    "message": "ปรับปรุงประสบการณ์ในการโหลดโดยรวมเพื่อให้หน้าเว็บตอบสนองและพร้อมใช้งานโดยเร็วที่สุด เมตริกที่สำคัญได้แก่เวลาในการโต้ตอบและ Speed Index"
  },
  "core/config/default-config.js | overallImprovementsGroupTitle": {
    "message": "การปรับปรุงโดยรวม"
  },
  "core/config/default-config.js | performanceCategoryTitle": {
    "message": "ประสิทธิภาพ"
  },
  "core/config/default-config.js | seoCategoryDescription": {
    "message": "การตรวจสอบเหล่านี้ช่วยให้มั่นใจว่าหน้าเว็บของคุณทำตามคำแนะนำพื้นฐานในการปรับแต่งเว็บไซต์ให้ติดอันดับบนเครื่องมือค้นหา มีปัจจัยอื่นๆ มากมายที่ Lighthouse ไม่ให้คะแนนไว้ที่นี่ซึ่งอาจส่งผลต่อการจัดอันดับการค้นหา รวมถึงประสิทธิภาพใน [Core Web Vitals](https://web.dev/explore/vitals) [ดูข้อมูลเพิ่มเติมเกี่ยวกับ Google Search Essentials](https://support.google.com/webmasters/answer/35769)"
  },
  "core/config/default-config.js | seoCategoryManualDescription": {
    "message": "เรียกใช้ตัวตรวจสอบความถูกต้องเพิ่มเติมเหล่านี้ในเว็บไซต์ของคุณเพื่อดูแนวทางปฏิบัติที่ดีที่สุดเพิ่มเติมเกี่ยวกับ SEO"
  },
  "core/config/default-config.js | seoCategoryTitle": {
    "message": "SEO"
  },
  "core/config/default-config.js | seoContentGroupDescription": {
    "message": "จัด HTML ให้อยู่ในรูปแบบที่ช่วยให้ Crawler เข้าใจเนื้อหาแอปได้ง่ายขึ้น"
  },
  "core/config/default-config.js | seoContentGroupTitle": {
    "message": "แนวทางปฏิบัติที่ดีที่สุดเกี่ยวกับเนื้อหา"
  },
  "core/config/default-config.js | seoCrawlingGroupDescription": {
    "message": "Crawler จะต้องเข้าถึงแอปของคุณได้เพื่อให้แอปปรากฏในผลการค้นหา"
  },
  "core/config/default-config.js | seoCrawlingGroupTitle": {
    "message": "การรวบรวมข้อมูลและจัดทำดัชนี"
  },
  "core/config/default-config.js | seoMobileGroupDescription": {
    "message": "ตรวจสอบว่าหน้าเว็บเหมาะกับมือถือ ผู้ใช้จะได้ไม่ต้องบีบนิ้วหรือซูมเข้าเพื่ออ่านหน้าเนื้อหา [ดูวิธีทำให้หน้าเว็บเหมาะกับมือถือ](https://developers.google.com/search/mobile-sites/)"
  },
  "core/config/default-config.js | seoMobileGroupTitle": {
    "message": "เหมาะกับมือถือ"
  },
  "core/gather/driver/environment.js | warningSlowHostCpu": {
    "message": "ดูเหมือนว่า CPU ของอุปกรณ์ที่ใช้ทดสอบจะช้ากว่าที่ Lighthouse คาดไว้ ซึ่งอาจส่งผลเสียต่อคะแนนประสิทธิภาพของคุณ ดูข้อมูลเพิ่มเติมเกี่ยวกับ[การปรับเทียบตัวคูณการชะลอตัวของ CPU ที่เหมาะสม](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling)."
  },
  "core/gather/driver/navigation.js | warningRedirected": {
    "message": "หน้านี้อาจไม่โหลดขึ้นตามที่คาดไว้เนื่องจาก URL ทดสอบของคุณ ({requested}) มีการเปลี่ยนเส้นทางไปยัง {final} ลองทดสอบ URL ที่ 2 โดยตรง"
  },
  "core/gather/driver/navigation.js | warningTimeout": {
    "message": "หน้าโหลดช้าเกินกำหนดเวลา หน้าที่โหลดมาได้อาจไม่ครบถ้วน"
  },
  "core/gather/driver/storage.js | warningCacheTimeout": {
    "message": "การล้างแคชของเบราว์เซอร์หมดเวลาแล้ว ลองตรวจสอบหน้านี้อีกครั้งและรายงานข้อบกพร่องหากยังคงพบปัญหาอยู่"
  },
  "core/gather/driver/storage.js | warningData": {
    "message": "{locationCount,plural, =1{อาจมีข้อมูลที่จัดเก็บไว้ที่ส่งผลกระทบต่อประสิทธิภาพการโหลดในตำแหน่ง {locations} ตรวจสอบหน้านี้ในหน้าต่างที่ไม่ระบุตัวตนเพื่อป้องกันไม่ให้ทรัพยากรเหล่านั้นส่งผลกระทบต่อคะแนนของคุณ}other{อาจมีข้อมูลที่จัดเก็บไว้ที่ส่งผลกระทบต่อประสิทธิภาพการโหลดในตำแหน่ง {locations} ตรวจสอบหน้านี้ในหน้าต่างที่ไม่ระบุตัวตนเพื่อป้องกันไม่ให้ทรัพยากรเหล่านั้นส่งผลกระทบต่อคะแนนของคุณ}}"
  },
  "core/gather/driver/storage.js | warningOriginDataTimeout": {
    "message": "การล้างข้อมูลต้นทางหมดเวลาแล้ว ลองตรวจสอบหน้านี้อีกครั้งและรายงานข้อบกพร่องหากยังคงพบปัญหาอยู่"
  },
  "core/gather/gatherers/link-elements.js | headerParseWarning": {
    "message": "เกิดข้อผิดพลาดขณะแยกวิเคราะห์ส่วนหัว `link` ({error}): `{header}`"
  },
  "core/gather/timespan-runner.js | warningNavigationDetected": {
    "message": "ตรวจพบการนำทางหน้าเว็บระหว่างการใช้งาน เราไม่แนะนำให้ใช้โหมดช่วงเวลาเพื่อตรวจสอบการนำทางหน้าเว็บ โปรดใช้โหมดการไปยังส่วนต่างๆ เพื่อตรวจสอบการนำทางหน้าเว็บสำหรับการระบุแหล่งที่มาของบุคคลที่สามที่แม่นยำยิ่งขึ้นและการตรวจหาเทรดหลัก"
  },
  "core/lib/csp-evaluator.js | allowlistFallback": {
    "message": "ลองเพิ่ม URL ในรูปแบบ https: และ http: (ซึ่งเบราว์เซอร์ที่รองรับ `'strict-dynamic'` จะไม่สนใจ) เพื่อให้เข้ากันได้แบบย้อนหลังกับเบราว์เซอร์เวอร์ชันเก่ากว่า"
  },
  "core/lib/csp-evaluator.js | deprecatedDisownOpener": {
    "message": "`disown-opener` เลิกใช้งานแล้วตั้งแต่ CSP3 โปรดใช้ส่วนหัว Cross-Origin-Opener-Policy แทน"
  },
  "core/lib/csp-evaluator.js | deprecatedReferrer": {
    "message": "`referrer` เลิกใช้งานแล้วตั้งแต่ CSP2 โปรดใช้ส่วนหัว Referrer-Policy แทน"
  },
  "core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
    "message": "`reflected-xss` เลิกใช้งานแล้วตั้งแต่ CSP2 โปรดใช้ส่วนหัว X-XSS-Protection แทน"
  },
  "core/lib/csp-evaluator.js | missingBaseUri": {
    "message": "เมื่อไม่มี `base-uri` แท็ก `<base>` ที่แทรกจะตั้งค่า URL ฐานสำหรับ URL (เช่น สคริปต์) ทั้งหมดที่เกี่ยวข้องกับโดเมนที่ผู้โจมตีควบคุมได้ ลองตั้งค่า `base-uri` เป็น `'none'` หรือ `'self'`"
  },
  "core/lib/csp-evaluator.js | missingObjectSrc": {
    "message": "เมื่อไม่มี `object-src` จะทำให้มีการแทรกปลั๊กอินซึ่งรันสคริปต์ที่ไม่ปลอดภัย ลองตั้งค่า `object-src` เป็น `'none'` หากทำได้"
  },
  "core/lib/csp-evaluator.js | missingScriptSrc": {
    "message": "ไม่มีคำสั่ง `script-src` ซึ่งอาจทำให้รันสคริปต์ที่ไม่ปลอดภัยได้"
  },
  "core/lib/csp-evaluator.js | missingSemicolon": {
    "message": "คุณลืมเครื่องหมายเซมิโคลอนหรือเปล่า ดูเหมือนว่า {keyword} จะเป็นคำสั่ง ไม่ใช่คีย์เวิร์ด"
  },
  "core/lib/csp-evaluator.js | nonceCharset": {
    "message": "Nonces ควรใช้ชุดอักขระ base64"
  },
  "core/lib/csp-evaluator.js | nonceLength": {
    "message": "Nonces ต้องมีอักขระอย่างน้อย 8 ตัว"
  },
  "core/lib/csp-evaluator.js | plainUrlScheme": {
    "message": "หลีกเลี่ยงการใช้ URL รูปแบบธรรมดา ({keyword}) ในคำสั่งนี้ URL รูปแบบธรรมดาอนุญาตให้รันสคริปต์ที่มาจากโดเมนที่ไม่ปลอดภัยได้"
  },
  "core/lib/csp-evaluator.js | plainWildcards": {
    "message": "หลีกเลี่ยงการใช้ไวลด์การ์ดธรรมดา ({keyword}) ในคำสั่งนี้ ไวลด์การ์ดธรรมดาอนุญาตให้รันสคริปต์ที่มาจากโดเมนที่ไม่ปลอดภัยได้"
  },
  "core/lib/csp-evaluator.js | reportToOnly": {
    "message": "มีการกำหนดค่าปลายทางการรายงานผ่านคำสั่ง report-to เท่านั้น คำสั่งนี้ใช้ได้เฉพาะในเบราว์เซอร์แบบ Chromium จึงขอแนะนำให้ใช้คำสั่ง `report-uri` ด้วย"
  },
  "core/lib/csp-evaluator.js | reportingDestinationMissing": {
    "message": "ไม่มี CSP ที่กำหนดค่าปลายทางการรายงาน ซึ่งทำให้ดูแลรักษา CSP เมื่อเวลาผ่านไปและตรวจสอบการหยุดทำงานได้ยาก"
  },
  "core/lib/csp-evaluator.js | strictDynamic": {
    "message": "รายการโฮสต์ที่อนุญาตอาจถูกข้ามได้บ่อยๆ ลองใช้ nonces หรือ hashes ของ CSP แทน รวมถึงใช้ `'strict-dynamic'` หากจำเป็น"
  },
  "core/lib/csp-evaluator.js | unknownDirective": {
    "message": "คำสั่ง CSP ที่ไม่รู้จัก"
  },
  "core/lib/csp-evaluator.js | unknownKeyword": {
    "message": "ดูเหมือนว่า {keyword} จะเป็นคีย์เวิร์ดที่ไม่ถูกต้อง"
  },
  "core/lib/csp-evaluator.js | unsafeInline": {
    "message": "`'unsafe-inline'` ทำให้รันสคริปต์ในหน้าเว็บและตัวจัดการเหตุการณ์ที่ไม่ปลอดภัยได้ ลองใช้ nonces หรือ hashes ของ CSP เพื่ออนุญาตสคริปต์แต่ละรายการ"
  },
  "core/lib/csp-evaluator.js | unsafeInlineFallback": {
    "message": "ลองเพิ่ม `'unsafe-inline'` (ซึ่งเบราว์เซอร์ที่รองรับ nonces/hashes จะไม่สนใจ) เพื่อให้เข้ากันได้แบบย้อนหลังกับเบราว์เซอร์เวอร์ชันเก่ากว่า"
  },
  "core/lib/deprecation-description.js | feature": {
    "message": "ดูรายละเอียดเพิ่มเติมที่หน้าสถานะฟีเจอร์"
  },
  "core/lib/deprecation-description.js | milestone": {
    "message": "การเปลี่ยนแปลงนี้จะมีผลกับเป้าหมาย {milestone}"
  },
  "core/lib/deprecation-description.js | title": {
    "message": "ใช้ฟีเจอร์ที่เลิกใช้งานแล้ว"
  },
  "core/lib/i18n/i18n.js | columnBlockingTime": {
    "message": "เวลาในการบล็อกเทรดหลัก"
  },
  "core/lib/i18n/i18n.js | columnCacheTTL": {
    "message": "แคช TTL"
  },
  "core/lib/i18n/i18n.js | columnDescription": {
    "message": "รายละเอียด"
  },
  "core/lib/i18n/i18n.js | columnDuration": {
    "message": "ระยะเวลา"
  },
  "core/lib/i18n/i18n.js | columnElement": {
    "message": "องค์ประกอบ"
  },
  "core/lib/i18n/i18n.js | columnFailingElem": {
    "message": "องค์ประกอบที่ไม่ผ่านการตรวจสอบ"
  },
  "core/lib/i18n/i18n.js | columnLocation": {
    "message": "ตำแหน่ง"
  },
  "core/lib/i18n/i18n.js | columnName": {
    "message": "ชื่อ"
  },
  "core/lib/i18n/i18n.js | columnRequests": {
    "message": "คำขอ"
  },
  "core/lib/i18n/i18n.js | columnResourceSize": {
    "message": "ขนาดทรัพยากร"
  },
  "core/lib/i18n/i18n.js | columnResourceType": {
    "message": "ประเภททรัพยากร"
  },
  "core/lib/i18n/i18n.js | columnSize": {
    "message": "ขนาด"
  },
  "core/lib/i18n/i18n.js | columnSource": {
    "message": "แหล่งที่มา"
  },
  "core/lib/i18n/i18n.js | columnStartTime": {
    "message": "เวลาเริ่มต้น"
  },
  "core/lib/i18n/i18n.js | columnTimeSpent": {
    "message": "เวลาที่ใช้"
  },
  "core/lib/i18n/i18n.js | columnTransferSize": {
    "message": "ขนาดการโอน"
  },
  "core/lib/i18n/i18n.js | columnURL": {
    "message": "URL"
  },
  "core/lib/i18n/i18n.js | columnWastedBytes": {
    "message": "พื้นที่ที่ประหยัดได้โดยประมาณ"
  },
  "core/lib/i18n/i18n.js | columnWastedMs": {
    "message": "เวลาที่ประหยัดได้โดยประมาณ"
  },
  "core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
    "message": "Cumulative Layout Shift"
  },
  "core/lib/i18n/i18n.js | displayValueByteSavings": {
    "message": "ประหยัดพื้นที่ได้ {wastedBytes, number, bytes} KiB โดยประมาณ"
  },
  "core/lib/i18n/i18n.js | displayValueElementsFound": {
    "message": "{nodeCount,plural, =1{พบ 1 องค์ประกอบ}other{พบ # องค์ประกอบ}}"
  },
  "core/lib/i18n/i18n.js | displayValueMsSavings": {
    "message": "ประหยัดเวลาได้ {wastedMs, number, milliseconds} มิลลิวินาทีโดยประมาณ"
  },
  "core/lib/i18n/i18n.js | documentResourceType": {
    "message": "เอกสาร"
  },
  "core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
    "message": "First Contentful Paint"
  },
  "core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
    "message": "การแสดงผลที่มีความหมายครั้งแรก"
  },
  "core/lib/i18n/i18n.js | fontResourceType": {
    "message": "แบบอักษร"
  },
  "core/lib/i18n/i18n.js | imageResourceType": {
    "message": "รูปภาพ"
  },
  "core/lib/i18n/i18n.js | interactionToNextPaint": {
    "message": "การโต้ตอบกับ Next Paint"
  },
  "core/lib/i18n/i18n.js | interactiveMetric": {
    "message": "Time to Interactive"
  },
  "core/lib/i18n/i18n.js | itemSeverityHigh": {
    "message": "สูง"
  },
  "core/lib/i18n/i18n.js | itemSeverityLow": {
    "message": "ต่ำ"
  },
  "core/lib/i18n/i18n.js | itemSeverityMedium": {
    "message": "ปานกลาง"
  },
  "core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
    "message": "Largest Contentful Paint"
  },
  "core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
    "message": "First Input Delay สูงสุดที่อาจเกิดขึ้น"
  },
  "core/lib/i18n/i18n.js | mediaResourceType": {
    "message": "สื่อ"
  },
  "core/lib/i18n/i18n.js | ms": {
    "message": "{timeInMs, number, milliseconds} มิลลิวินาที"
  },
  "core/lib/i18n/i18n.js | otherResourceType": {
    "message": "อื่นๆ"
  },
  "core/lib/i18n/i18n.js | otherResourcesLabel": {
    "message": "ทรัพยากรอื่นๆ"
  },
  "core/lib/i18n/i18n.js | scriptResourceType": {
    "message": "สคริปต์"
  },
  "core/lib/i18n/i18n.js | seconds": {
    "message": "{timeInMs, number, seconds} วินาที"
  },
  "core/lib/i18n/i18n.js | speedIndexMetric": {
    "message": "Speed Index"
  },
  "core/lib/i18n/i18n.js | stylesheetResourceType": {
    "message": "สไตล์ชีต"
  },
  "core/lib/i18n/i18n.js | thirdPartyResourceType": {
    "message": "บุคคลที่สาม"
  },
  "core/lib/i18n/i18n.js | total": {
    "message": "รวม"
  },
  "core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
    "message": "Total Blocking Time"
  },
  "core/lib/i18n/i18n.js | totalResourceType": {
    "message": "รวม"
  },
  "core/lib/lh-error.js | badTraceRecording": {
    "message": "เกิดข้อผิดพลาดในการบันทึกการติดตามระหว่างการโหลดหน้าเว็บ โปรดเรียกใช้ Lighthouse อีกครั้ง ({errorCode})"
  },
  "core/lib/lh-error.js | criTimeout": {
    "message": "หมดเวลาระหว่างที่รอการเชื่อมต่อโปรโตคอลโปรแกรมแก้ไขข้อบกพร่องเริ่มต้น"
  },
  "core/lib/lh-error.js | didntCollectScreenshots": {
    "message": "Chrome ไม่ได้รวบรวมภาพหน้าจอใดๆ ระหว่างการโหลดหน้า โปรดตรวจสอบว่ามีเนื้อหาที่มองเห็นได้ในหน้าเว็บ จากนั้นลองเรียกใช้ Lighthouse อีกครั้ง ({errorCode})"
  },
  "core/lib/lh-error.js | dnsFailure": {
    "message": "เซิร์ฟเวอร์ DNS แก้ปัญหาโดเมนที่ระบุไม่ได้"
  },
  "core/lib/lh-error.js | erroredRequiredArtifact": {
    "message": "ตัวรวบรวม {artifactName} ที่จำเป็นพบข้อผิดพลาด: {errorMessage}"
  },
  "core/lib/lh-error.js | internalChromeError": {
    "message": "เกิดข้อผิดพลาดภายในของ Chrome โปรดรีสตาร์ท Chrome และลองเรียกใช้ Lighthouse อีกครั้ง"
  },
  "core/lib/lh-error.js | missingRequiredArtifact": {
    "message": "ตัวรวบรวม {artifactName} ที่จำเป็นไม่ทำงาน"
  },
  "core/lib/lh-error.js | noFcp": {
    "message": "หน้านี้ไม่ได้แสดงเนื้อหาใดเลย โปรดตรวจสอบว่าหน้าต่างเบราว์เซอร์อยู่เบื้องหน้าเสมอระหว่างการโหลดแล้วลองอีกครั้ง ({errorCode})"
  },
  "core/lib/lh-error.js | noLcp": {
    "message": "หน้าเว็บไม่แสดงเนื้อหาที่มีคุณสมบัติเป็น Largest Contentful Paint (LCP) ตรวจสอบว่าหน้าเว็บมีองค์ประกอบ LCP ที่ถูกต้องแล้วลองอีกครั้ง ({errorCode})"
  },
  "core/lib/lh-error.js | notHtml": {
    "message": "หน้าที่ระบุไม่ใช่ HTML (แสดงเป็นประเภท MIME {mimeType})"
  },
  "core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
    "message": "Chrome เวอร์ชันนี้เก่าเกินกว่าจะรองรับ \"{featureName}\" โปรดใช้เวอร์ชันใหม่เพื่อดูผลลัพธ์ทั้งหมด"
  },
  "core/lib/lh-error.js | pageLoadFailed": {
    "message": "Lighthouse โหลดหน้าเว็บที่คุณขออย่างน่าเชื่อถือไม่ได้ ตรวจสอบว่าคุณกำลังทดสอบ URL ที่ถูกต้องและเซิร์ฟเวอร์ตอบสนองคำขอทั้งหมดอย่างถูกต้อง"
  },
  "core/lib/lh-error.js | pageLoadFailedHung": {
    "message": "Lighthouse โหลด URL ที่คุณขออย่างน่าเชื่อถือไม่ได้เพราะหน้าเว็บไม่ตอบสนอง"
  },
  "core/lib/lh-error.js | pageLoadFailedInsecure": {
    "message": "URL ที่ระบุไม่มีใบรับรองความปลอดภัยที่ถูกต้อง {securityMessages}"
  },
  "core/lib/lh-error.js | pageLoadFailedInterstitial": {
    "message": "Chrome ป้องกันการโหลดหน้าเว็บด้วยโฆษณาคั่นระหว่างหน้า ตรวจสอบว่าคุณกำลังทดสอบ URL ที่ถูกต้องและเซิร์ฟเวอร์ตอบสนองคำขอทั้งหมดอย่างถูกต้อง"
  },
  "core/lib/lh-error.js | pageLoadFailedWithDetails": {
    "message": "Lighthouse โหลดหน้าเว็บที่คุณขออย่างน่าเชื่อถือไม่ได้ ตรวจสอบว่าคุณกำลังทดสอบ URL ที่ถูกต้องและเซิร์ฟเวอร์ตอบสนองคำขอทั้งหมดอย่างถูกต้อง (รายละเอียด: {errorDetails})"
  },
  "core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
    "message": "Lighthouse โหลดหน้าเว็บที่คุณขออย่างน่าเชื่อถือไม่ได้ ตรวจสอบว่าคุณกำลังทดสอบ URL ที่ถูกต้องและเซิร์ฟเวอร์ตอบสนองคำขอทั้งหมดอย่างถูกต้อง (รหัสสถานะ: {statusCode})"
  },
  "core/lib/lh-error.js | pageLoadTookTooLong": {
    "message": "หน้าเว็บของคุณใช้เวลาโหลดนานเกินไป โปรดทำตามโอกาสในรายงานเพื่อลดเวลาในการโหลดหน้าเว็บแล้วลองเรียกใช้ Lighthouse อีกครั้ง ({errorCode})"
  },
  "core/lib/lh-error.js | protocolTimeout": {
    "message": "การรอการตอบสนองของโปรโตคอล DevTools เกินเวลาที่จัดสรรไว้ (เมธอด: {protocolMethod})"
  },
  "core/lib/lh-error.js | requestContentTimeout": {
    "message": "การดึงข้อมูลเนื้อหาทรัพยากรเกินเวลาที่จัดสรรไว้"
  },
  "core/lib/lh-error.js | targetCrashed": {
    "message": "แท็บเบราว์เซอร์ขัดข้องโดยไม่คาดคิด"
  },
  "core/lib/lh-error.js | urlInvalid": {
    "message": "ดูเหมือนว่า URL ที่ระบุจะไม่ถูกต้อง"
  },
  "core/lib/navigation-error.js | warningStatusCode": {
    "message": "Lighthouse โหลดหน้าเว็บที่คุณขออย่างน่าเชื่อถือไม่ได้ ตรวจสอบว่าคุณกำลังทดสอบ URL ที่ถูกต้องและเซิร์ฟเวอร์ตอบสนองคำขอทั้งหมดอย่างถูกต้อง (รหัสสถานะ: {errorCode})"
  },
  "core/lib/navigation-error.js | warningXhtml": {
    "message": "ประเภท MIME ของหน้าเว็บคือ XHTML: Lighthouse ไม่รองรับเอกสารประเภทนี้อย่างชัดเจน"
  },
  "core/user-flow.js | defaultFlowName": {
    "message": "โฟลว์ผู้ใช้ ({url})"
  },
  "core/user-flow.js | defaultNavigationName": {
    "message": "รายงานการไปยังส่วนต่างๆ ({url})"
  },
  "core/user-flow.js | defaultSnapshotName": {
    "message": "รายงานสแนปชอต ({url})"
  },
  "core/user-flow.js | defaultTimespanName": {
    "message": "รายงานช่วงเวลา ({url})"
  },
  "flow-report/src/i18n/ui-strings.js | allReports": {
    "message": "รายงานทั้งหมด"
  },
  "flow-report/src/i18n/ui-strings.js | categories": {
    "message": "หมวดหมู่"
  },
  "flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
    "message": "การช่วยเหลือพิเศษ"
  },
  "flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
    "message": "แนวทางปฏิบัติที่ดีที่สุด"
  },
  "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
    "message": "ประสิทธิภาพ"
  },
  "flow-report/src/i18n/ui-strings.js | categorySeo": {
    "message": "SEO"
  },
  "flow-report/src/i18n/ui-strings.js | desktop": {
    "message": "เดสก์ท็อป"
  },
  "flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
    "message": "ทำความเข้าใจรายงานโฟลว์ของ Lighthouse"
  },
  "flow-report/src/i18n/ui-strings.js | helpLabel": {
    "message": "ทำความเข้าใจโฟลว์"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
    "message": "ใช้รายงานการไปยังส่วนต่างๆ เพื่อ..."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
    "message": "ใช้รายงานภาพรวมเพื่อ..."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
    "message": "ใช้รายงานระยะเวลาเพื่อ..."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
    "message": "รับคะแนนประสิทธิภาพของ Lighthouse"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
    "message": "วัดเมตริกประสิทธิภาพของการโหลดหน้าเว็บ เช่น Largest Contentful Paint และ Speed Index"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
    "message": "ประเมินความสามารถของ Progressive Web App"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
    "message": "ค้นหาปัญหาด้านการช่วยเหลือพิเศษในแอปพลิเคชันหน้าเว็บเดียวหรือรูปแบบที่ซับซ้อน"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
    "message": "ประเมินแนวทางปฏิบัติแนะนำของเมนูและองค์ประกอบ UI ที่ซ่อนอยู่หลังการโต้ตอบ"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
    "message": "วัดการเปลี่ยนแปลงเลย์เอาต์และเวลาในการดำเนินการ JavaScript จากชุดการโต้ตอบต่างๆ"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
    "message": "สำรวจโอกาสของประสิทธิภาพในการปรับปรุงประสบการณ์ของหน้าเว็บที่มีอายุยาวนานและแอปพลิเคชันหน้าเว็บเดียว"
  },
  "flow-report/src/i18n/ui-strings.js | highestImpact": {
    "message": "มีประสิทธิภาพสูงสุด"
  },
  "flow-report/src/i18n/ui-strings.js | informativeAuditCount": {
    "message": "{numInformative,plural, =1{การตรวจสอบที่เป็นประโยชน์ {numInformative} ครั้ง}other{การตรวจสอบที่เป็นประโยชน์ {numInformative} ครั้ง}}"
  },
  "flow-report/src/i18n/ui-strings.js | mobile": {
    "message": "มือถือ"
  },
  "flow-report/src/i18n/ui-strings.js | navigationDescription": {
    "message": "การโหลดหน้าเว็บ"
  },
  "flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
    "message": "รายงานการไปยังส่วนต่างๆ จะวิเคราะห์การโหลดหน้าเว็บ 1 ครั้ง เช่นเดียวกับรายงานดั้งเดิมของ Lighthouse ทุกประการ"
  },
  "flow-report/src/i18n/ui-strings.js | navigationReport": {
    "message": "รายงานการนำทาง"
  },
  "flow-report/src/i18n/ui-strings.js | navigationReportCount": {
    "message": "{numNavigation,plural, =1{รายงานการไปยังส่วนต่างๆ {numNavigation} ฉบับ}other{รายงานการไปยังส่วนต่างๆ {numNavigation} ฉบับ}}"
  },
  "flow-report/src/i18n/ui-strings.js | passableAuditCount": {
    "message": "{numPassableAudits,plural, =1{การตรวจสอบที่ผ่านได้ {numPassableAudits} ครั้ง}other{การตรวจสอบที่ผ่านได้ {numPassableAudits} ครั้ง}}"
  },
  "flow-report/src/i18n/ui-strings.js | passedAuditCount": {
    "message": "{numPassed,plural, =1{การตรวจสอบที่ผ่าน {numPassed} ครั้ง}other{การตรวจสอบที่ผ่าน {numPassed} ครั้ง}}"
  },
  "flow-report/src/i18n/ui-strings.js | ratingAverage": {
    "message": "เฉยๆ"
  },
  "flow-report/src/i18n/ui-strings.js | ratingError": {
    "message": "ข้อผิดพลาด"
  },
  "flow-report/src/i18n/ui-strings.js | ratingFail": {
    "message": "แย่"
  },
  "flow-report/src/i18n/ui-strings.js | ratingPass": {
    "message": "ดี"
  },
  "flow-report/src/i18n/ui-strings.js | save": {
    "message": "บันทึก"
  },
  "flow-report/src/i18n/ui-strings.js | snapshotDescription": {
    "message": "จับภาพสถานะของหน้าเว็บแล้ว"
  },
  "flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
    "message": "รายงานภาพรวมจะวิเคราะห์หน้าเว็บในสถานะหนึ่ง โดยทั่วไปจะเกิดขึ้นหลังจากการโต้ตอบของผู้ใช้"
  },
  "flow-report/src/i18n/ui-strings.js | snapshotReport": {
    "message": "รายงานสแนปชอต"
  },
  "flow-report/src/i18n/ui-strings.js | snapshotReportCount": {
    "message": "{numSnapshot,plural, =1{รายงานภาพรวม {numSnapshot} ฉบับ}other{รายงานภาพรวม {numSnapshot} ฉบับ}}"
  },
  "flow-report/src/i18n/ui-strings.js | summary": {
    "message": "สรุป"
  },
  "flow-report/src/i18n/ui-strings.js | timespanDescription": {
    "message": "การโต้ตอบของผู้ใช้"
  },
  "flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
    "message": "รายงานระยะเวลาจะวิเคราะห์ระยะเวลาที่กำหนดเอง ซึ่งมักจะมีการโต้ตอบของผู้ใช้"
  },
  "flow-report/src/i18n/ui-strings.js | timespanReport": {
    "message": "รายงานระยะเวลา"
  },
  "flow-report/src/i18n/ui-strings.js | timespanReportCount": {
    "message": "{numTimespan,plural, =1{รายงานช่วงเวลา {numTimespan} ฉบับ}other{รายงานช่วงเวลา {numTimespan} ฉบับ}}"
  },
  "flow-report/src/i18n/ui-strings.js | title": {
    "message": "รายงานโฟลว์ผู้ใช้ Lighthouse"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | AuthorizationCoveredByWildcard": {
    "message": "สัญลักษณ์ไวลด์การ์ด (*) จะไม่ครอบคลุมการให้สิทธิ์ในการใช้งาน Access-Control-Allow-Headers สำหรับ CORS"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CSSSelectorInternalMediaControlsOverlayCastButton": {
    "message": "ควรใช้แอตทริบิวต์ disableRemotePlayback เพื่อปิดใช้การผสานรวมการแคสต์เริ่มต้นแทนการใช้ตัวเลือก -internal-media-controls-overlay-cast-button"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CSSValueAppearanceSliderVertical": {
    "message": "ค่าลักษณะที่ปรากฏของ CSS ซึ่งได้แก่ slider-vertical ไม่เป็นมาตรฐานและจะถูกนำออก"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CanRequestURLHTTPContainingNewline": {
    "message": "คำขอทรัพยากรที่ URL มีทั้งอักขระ \\(n|r|t) แบบช่องว่างซึ่งนำออกไปแล้วและมีอักขระน้อยกว่า (<) ถูกบล็อก โปรดนำบรรทัดใหม่ออกและเข้ารหัสอักขระที่น้อยกว่าจากที่ต่างๆ อย่างเช่นค่าแอตทริบิวต์ขององค์ประกอบเพื่อโหลดทรัพยากรเหล่านี้"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesConnectionInfo": {
    "message": "chrome.loadTimes() เลิกใช้งานแล้ว โปรดใช้ Navigation Timing 2 ซึ่งเป็น API แบบมาตรฐานแทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesFirstPaintAfterLoadTime": {
    "message": "chrome.loadTimes() เลิกใช้งานแล้ว โปรดใช้ Paint Timing ซึ่งเป็น API แบบมาตรฐานแทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesWasAlternateProtocolAvailable": {
    "message": "chrome.loadTimes() เลิกใช้งานแล้ว โปรดใช้ nextHopProtocol ใน Navigation Timing 2 ซึ่งเป็น API แบบมาตรฐานแทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CookieWithTruncatingChar": {
    "message": "คุกกี้ที่มีอักขระ \\(0|r|n) จะถูกปฏิเสธแทนการตัดให้สั้นลง"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginAccessBasedOnDocumentDomain": {
    "message": "การผ่อนปรนนโยบายต้นทางเดียวกันโดยการตั้งค่า document.domain เลิกใช้งานแล้วและจะปิดใช้โดยค่าเริ่มต้น คำเตือนการเลิกใช้งานนี้มีไว้สำหรับการเข้าถึงแบบข้ามต้นทางที่เปิดใช้โดยการตั้งค่า document.domain"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowAlert": {
    "message": "การเรียกใช้ window.alert จาก iframe แบบข้ามต้นทางเลิกใช้งานแล้วและจะถูกนำออกในอนาคต"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowConfirm": {
    "message": "การเรียกใช้ window.confirm จาก iframe แบบข้ามต้นทางเลิกใช้งานแล้วและจะถูกนำออกในอนาคต"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DataUrlInSvgUse": {
    "message": "การรองรับข้อมูล: URL ใน SVGUseElement เลิกใช้งานแล้วและจะนำออกในอนาคต"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GeolocationInsecureOrigin": {
    "message": "getCurrentPosition() และ watchPosition() ไม่ทำงานในต้นทางที่ไม่ปลอดภัยอีกต่อไป คุณควรพิจารณาเปลี่ยนแอปพลิเคชันไปใช้ต้นทางที่ปลอดภัยอย่างเช่น HTTPS หากต้องการใช้ฟีเจอร์นี้ ดูรายละเอียดเพิ่มเติมได้ที่ https://goo.gle/chrome-insecure-origins"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GeolocationInsecureOriginDeprecatedNotRemoved": {
    "message": "getCurrentPosition() และ watchPosition() เลิกใช้งานแล้วในต้นทางที่ไม่ปลอดภัย คุณควรพิจารณาเปลี่ยนแอปพลิเคชันไปใช้ต้นทางที่ปลอดภัยอย่างเช่น HTTPS หากต้องการใช้ฟีเจอร์นี้ ดูรายละเอียดเพิ่มเติมได้ที่ https://goo.gle/chrome-insecure-origins"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GetUserMediaInsecureOrigin": {
    "message": "getUserMedia() ทำงานในต้นทางที่ไม่ปลอดภัยไม่ได้อีกต่อไป คุณควรพิจารณาเปลี่ยนแอปพลิเคชันไปใช้ต้นทางที่ปลอดภัยอย่างเช่น HTTPS หากต้องการใช้ฟีเจอร์นี้ ดูรายละเอียดเพิ่มเติมได้ที่ https://goo.gle/chrome-insecure-origins"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | HostCandidateAttributeGetter": {
    "message": "RTCPeerConnectionIceErrorEvent.hostCandidate เลิกใช้งานแล้ว โปรดใช้ RTCPeerConnectionIceErrorEvent.address หรือ RTCPeerConnectionIceErrorEvent.port แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | IdentityInCanMakePaymentEvent": {
    "message": "ต้นทางของผู้ขายและข้อมูลที่กําหนดเองจากเหตุการณ์ Service Worker canmakepayment ซึ่งได้แก่ topOrigin, paymentRequestOrigin, methodData, modifiers เลิกใช้งานแล้วและจะถูกนําออก"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | InsecurePrivateNetworkSubresourceRequest": {
    "message": "เว็บไซต์ขอทรัพยากรย่อยจากเครือข่ายที่เข้าถึงได้เท่านั้นเนื่องจากมีตำแหน่งเครือข่ายที่เป็นสิทธิ์เฉพาะของผู้ใช้ คำขอเหล่านี้จะเปิดเผยอุปกรณ์และเซิร์ฟเวอร์ที่ไม่เผยแพร่ต่อสาธารณะไปยังอินเทอร์เน็ต ซึ่งเพิ่มความเสี่ยงในการโจมตีโดยการปลอมแปลงคำขอแบบข้ามเว็บไซต์ (CSRF) และ/หรือข้อมูลรั่วไหล Chrome จะเลิกใช้งานคำขอไปยังทรัพยากรย่อยที่ไม่เผยแพร่ต่อสาธารณะเมื่อเริ่มต้นมาจากบริบทที่ไม่ปลอดภัยและจะเริ่มบล็อกคำขอดังกล่าวเพื่อลดความเสี่ยงเหล่านี้"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | InterestGroupDailyUpdateUrl": {
    "message": "ฟิลด์ dailyUpdateUrl ของ InterestGroups ที่ส่งไปยัง joinAdInterestGroup() ได้เปลี่ยนชื่อเป็น updateUrl เพื่อให้สะท้อนลักษณะการทำงานได้อย่างแม่นยำยิ่งขึ้น"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | IntlV8BreakIterator": {
    "message": "Intl.v8BreakIterator เลิกใช้งานแล้ว โปรดใช้ Intl.Segmenter แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LocalCSSFileExtensionRejected": {
    "message": "โหลด CSS จาก URL file: ไม่ได้ เว้นแต่จะลงท้ายด้วยนามสกุลไฟล์ .css"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | MediaSourceAbortRemove": {
    "message": "การใช้ SourceBuffer.abort() เพื่อล้มเลิกการนำช่วงที่ไม่พร้อมกันออกของ remove() เลิกใช้งานไปแล้ว เนื่องจากมีการเปลี่ยนแปลงข้อกำหนด ระบบจะนำการรองรับออกในอนาคต คุณควรให้ความสำคัญกับเหตุการณ์ updateend แทน abort() มีไว้เพื่อล้มเลิกการเพิ่มสื่อที่ไม่พร้อมกันหรือรีเซ็ตสถานะโปรแกรมแยกวิเคราะห์เท่านั้น"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | MediaSourceDurationTruncatingBuffered": {
    "message": "การตั้งค่า MediaSource.duration ต่ำกว่าการประทับเวลาการนำเสนอสูงสุดของเฟรมที่ใส่โค้ดที่บัฟเฟอร์เลิกใช้งานแล้วเนื่องจากการเปลี่ยนแปลงข้อกำหนด การรองรับการนำสื่อที่บัฟเฟอร์ที่มีการตัดให้สั้นลงออกแบบไม่เจาะจงจะถูกนำออกในอนาคต คุณควรดำเนินการ remove(newDuration, oldDuration) แบบเจาะจงแทนใน sourceBuffers ทั้งหมดที่ newDuration < oldDuration"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NoSysexWebMIDIWithoutPermission": {
    "message": "Web MIDI จะขอสิทธิ์ในการใช้แม้ว่าจะไม่ได้ระบุ SysEx ใน MIDIOptions ก็ตาม"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NotificationInsecureOrigin": {
    "message": "ต้นทางที่ไม่ปลอดภัยอาจไม่ใช้ Notification API อีกต่อไป คุณควรพิจารณาเปลี่ยนแอปพลิเคชันไปใช้ต้นทางที่ปลอดภัยอย่างเช่น HTTPS ดูรายละเอียดเพิ่มเติมได้ที่ https://goo.gle/chrome-insecure-origins"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NotificationPermissionRequestedIframe": {
    "message": "iframe แบบข้ามต้นทางอาจไม่ขอสิทธิ์สำหรับ Notification API อีกต่อไป คุณควรพิจารณาขอสิทธิ์จากเฟรมระดับบนสุดหรือเปิดหน้าต่างใหม่แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ObsoleteCreateImageBitmapImageOrientationNone": {
    "message": "ตัวเลือก imageOrientation: 'none' ใน createImageBitmap เลิกใช้งานแล้ว โปรดใช้ createImageBitmap กับตัวเลือก \"\\\\{imageOrientation: 'from-image'\\\\}\" แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ObsoleteWebRtcCipherSuite": {
    "message": "พาร์ทเนอร์ของคุณต่อรอง (D)TLS เวอร์ชันที่ล้าสมัย โปรดตรวจสอบกับพาร์ทเนอร์เพื่อดำเนินการแก้ไข"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | OverflowVisibleOnReplacedElement": {
    "message": "การระบุ overflow: visible ในแท็ก img, video และ canvas อาจทำให้แท็กเหล่านี้สร้างเนื้อหาภาพนอกขอบเขตขององค์ประกอบ โปรดดู https://github.com/WICG/shared-element-transitions/blob/main/debugging_overflow_on_images.md"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | OverrideFlashEmbedwithHTML": {
    "message": "ระบบได้เขียนการฝังวิดีโอ Flash แบบเดิมขึ้นใหม่ให้เป็น HTML iframe ในปัจจุบันไม่มีการใช้งาน Flash แล้ว วิธีการเขียนขึ้นใหม่นี้เลิกใช้งานแล้วและอาจถูกนำออกในอนาคต"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PaymentInstruments": {
    "message": "paymentManager.instruments เลิกใช้งานแล้ว โปรดใช้การติดตั้งแบบทันท่วงทีแทนสำหรับตัวแฮนเดิลการชำระเงิน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PaymentRequestCSPViolation": {
    "message": "การเรียกใช้ PaymentRequest ได้ข้ามคำสั่งของนโยบายรักษาความปลอดภัยเนื้อหา (CSP) connect-src การข้ามนี้เลิกใช้งานแล้ว โปรดเพิ่มตัวระบุวิธีการชำระเงินจาก PaymentRequest API (ในช่อง supportedMethods) ลงในคำสั่งของ CSP connect-src"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PersistentQuotaType": {
    "message": "StorageType.persistent เลิกใช้งานแล้ว โปรดใช้ navigator.storage มาตรฐานแทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PictureSourceSrc": {
    "message": "<source src> ที่มีองค์ประกอบหลัก <picture> ไม่ถูกต้องและด้วยเหตุนี้ระบบจึงจะไม่สนใจ โปรดใช้ <source srcset> แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedCancelAnimationFrame": {
    "message": "webkitCancelAnimationFrame เจาะจงผู้ให้บริการ โปรดใช้ cancelAnimationFrame แบบมาตรฐานแทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedRequestAnimationFrame": {
    "message": "webkitRequestAnimationFrame เจาะจงผู้ให้บริการ โปรดใช้ requestAnimationFrame แบบมาตรฐานแทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoDisplayingFullscreen": {
    "message": "HTMLVideoElement.webkitDisplayingFullscreen เลิกใช้งานแล้ว โปรดใช้ Document.fullscreenElement แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoEnterFullScreen": {
    "message": "HTMLVideoElement.webkitEnterFullScreen() เลิกใช้งานแล้ว โปรดใช้ Element.requestFullscreen() แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoEnterFullscreen": {
    "message": "HTMLVideoElement.webkitEnterFullscreen() เลิกใช้งานแล้ว โปรดใช้ Element.requestFullscreen() แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoExitFullScreen": {
    "message": "HTMLVideoElement.webkitExitFullScreen() เลิกใช้งานแล้ว โปรดใช้ Document.exitFullscreen() แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoExitFullscreen": {
    "message": "HTMLVideoElement.webkitExitFullscreen() เลิกใช้งานแล้ว โปรดใช้ Document.exitFullscreen() แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoSupportsFullscreen": {
    "message": "HTMLVideoElement.webkitSupportsFullscreen เลิกใช้งานแล้ว โปรดใช้ Document.fullscreenEnabled แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrivacySandboxExtensionsAPI": {
    "message": "เรากำลังจะเลิกใช้งาน API chrome.privacy.websites.privacySandboxEnabled แม้ว่า API นี้จะยังคงมีการใช้งานต่อไปเพื่อความเข้ากันได้แบบย้อนหลังจนกว่าจะเปิดตัวเวอร์ชัน M113 โปรดใช้ chrome.privacy.websites.topicsEnabled, chrome.privacy.websites.fledgeEnabled และ chrome.privacy.websites.adMeasurementEnabled แทน ดู https://developer.chrome.com/docs/extensions/reference/privacy/#property-websites-privacySandboxEnabled"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpFalse": {
    "message": "ข้อจำกัด DtlsSrtpKeyAgreement ถูกนำออกแล้ว คุณได้ระบุค่า false สำหรับข้อจำกัดนี้ ซึ่งระบบตีความว่าเป็นการพยายามใช้เมธอด SDES key negotiation ที่นำออกไปแล้ว ฟังก์ชันการทำงานนี้ถูกนำออกแล้ว โปรดใช้บริการที่รองรับ DTLS key negotiation แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpTrue": {
    "message": "ข้อจำกัด DtlsSrtpKeyAgreement ถูกนำออกแล้ว คุณได้ระบุค่า true สำหรับข้อจำกัดนี้ซึ่งไม่มีผลกระทบ แต่สามารถนำข้อจำกัดนี้ออกได้เพื่อความเรียบร้อย"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCPeerConnectionGetStatsLegacyNonCompliant": {
    "message": "getStats() ที่อิงตาม Callback เลิกใช้งานแล้วและจะถูกนำออก โปรดใช้ getStats() ที่สอดคล้องกับข้อกำหนดแทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RangeExpand": {
    "message": "Range.expand() เลิกใช้งานแล้ว โปรดใช้ Selection.modify() แทน"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RequestedSubresourceWithEmbeddedCredentials": {
    "message": "คำขอทรัพยากรย่อยที่ URL มีข้อมูลเข้าสู่ระบบที่ฝังไว้ (เช่น https://user:pass@host/) ถูกบล็อก"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RtcpMuxPolicyNegotiate": {
    "message": "ตัวเลือก rtcpMuxPolicy เลิกใช้งานแล้วและจะถูกนำออก"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | SharedArrayBufferConstructedWithoutIsolation": {
    "message": "SharedArrayBuffer จะต้องใช้การแยกแบบข้ามต้นทาง ดูรายละเอียดเพิ่มเติมได้ที่ https://developer.chrome.com/blog/enabling-shared-array-buffer/"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | TextToSpeech_DisallowedByAutoplay": {
    "message": "speechSynthesis.speak() แบบไม่ต้องมีการเปิดใช้งานของผู้ใช้เลิกใช้งานแล้วและจะถูกนำออก"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | UnloadHandler": {
    "message": "เลิกใช้งาน Listener เหตุการณ์ที่ยกเลิกการโหลดแล้วและจะถูกนำออก"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
    "message": "ส่วนขยายควรเลือกใช้การแยกแบบข้ามต้นทางเพื่อใช้ SharedArrayBuffer ต่อ ดู https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XHRJSONEncodingDetection": {
    "message": "JSON ของการตอบกลับไม่รองรับ UTF-16 ใน XMLHttpRequest"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
    "message": "XMLHttpRequest แบบพร้อมกันในชุดข้อความหลักเลิกใช้งานแล้วเนื่องจากมีผลกระทบที่เป็นอันตรายต่อประสบการณ์ของผู้ใช้ปลายทาง ดูความช่วยเหลือเพิ่มเติมได้ที่ https://xhr.spec.whatwg.org/"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | animation": {
    "message": "ภาพเคลื่อนไหว"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | description": {
    "message": "การเปลี่ยนแปลงเลย์เอาต์เกิดขึ้นเมื่อองค์ประกอบต่างๆ เคลื่อนที่โดยไม่มีการโต้ตอบของผู้ใช้ [ตรวจสอบสาเหตุของการเปลี่ยนแปลงเลย์เอาต์](https://web.dev/articles/optimize-cls) เช่น การเพิ่ม การนำออก หรือการเปลี่ยนแบบอักษรขององค์ประกอบต่างๆ เมื่อโหลดหน้าเว็บ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | injectedIframe": {
    "message": "มีการแทรก iframe"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | layoutShiftCluster": {
    "message": "คลัสเตอร์การเปลี่ยนแปลงเลย์เอาต์ @ {PH1}"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | noCulprits": {
    "message": "ตรวจไม่พบสาเหตุของการเปลี่ยนแปลงเลย์เอาต์"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | noLayoutShifts": {
    "message": "ไม่มีการเปลี่ยนแปลงเลย์เอาต์"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | title": {
    "message": "สาเหตุของการเปลี่ยนแปลงเลย์เอาต์"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | topCulprits": {
    "message": "สาเหตุหลักๆ ของการเปลี่ยนแปลงเลย์เอาต์"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | unsizedImage": {
    "message": "องค์ประกอบรูปภาพที่ไม่มีขนาด"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | webFont": {
    "message": "เว็บฟอนต์"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstCluster": {
    "message": "คลัสเตอร์ที่แย่ที่สุด"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstLayoutShiftCluster": {
    "message": "คลัสเตอร์การเปลี่ยนแปลงเลย์เอาต์ที่แย่ที่สุด"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | cacheTTL": {
    "message": "TTL ของแคช"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | description": {
    "message": "อายุการใช้งานแคชที่ยาวนานช่วยเพิ่มการเข้าชมหน้าเว็บซ้ำได้ [ดูข้อมูลเพิ่มเติม](https://web.dev/uses-long-cache-ttl/)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | noRequestsToCache": {
    "message": "ไม่มีคำขอที่มีนโยบายแคชที่ไม่มีประสิทธิภาพ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | others": {
    "message": "อีก {PH1} รายการ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | requestColumn": {
    "message": "คำขอ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | title": {
    "message": "ใช้อายุการใช้งานแคชที่มีประสิทธิภาพ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
    "message": "DOM ที่มีขนาดใหญ่จะใช้เวลานานขึ้นในการคำนวณสไตล์และการจัดเรียงเลย์เอาต์ใหม่ ซึ่งส่งผลต่อการตอบสนองของหน้าเว็บ นอกจากนี้ DOM ที่มีขนาดใหญ่จะใช้หน่วยความจำเพิ่มขึ้นด้วย [ดูวิธีหลีกเลี่ยง DOM ที่มีขนาดใหญ่เกินไป](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | duration": {
    "message": "ระยะเวลา"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | element": {
    "message": "องค์ประกอบ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | largeLayout": {
    "message": "เลย์เอาต์ (ออบเจ็กต์ {PH1} รายการ)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | largeStyleRecalc": {
    "message": "การคำนวณรูปแบบใหม่ (องค์ประกอบ {PH1} รายการ)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | maxChildren": {
    "message": "องค์ประกอบย่อยส่วนใหญ่"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | maxDOMDepth": {
    "message": "ความลึกของ DOM"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | statistic": {
    "message": "สถิติ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | title": {
    "message": "ปรับขนาด DOM ให้เหมาะสม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | topUpdatesDescription": {
    "message": "เหตุการณ์เหล่านี้เป็นการจัดเรียงเลย์เอาต์และการคำนวณรูปแบบใหม่ที่มีขนาดใหญ่ที่สุด ซึ่งสามารถลดผลกระทบต่อประสิทธิภาพได้โดยการทำให้ DOM ง่ายขึ้น"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | totalElements": {
    "message": "องค์ประกอบทั้งหมด"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | value": {
    "message": "ค่า"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | description": {
    "message": "คำขอเครือข่ายครั้งแรกเป็นสิ่งสำคัญที่สุด  ลดเวลาในการตอบสนองโดยหลีกเลี่ยงการเปลี่ยนเส้นทาง ตรวจสอบการตอบกลับของเซิร์ฟเวอร์ที่รวดเร็ว และเปิดใช้การบีบอัดข้อความ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedRedirects": {
    "message": "มีการเปลี่ยนเส้นทาง (เปลี่ยนเส้นทาง {PH1} +{PH2})"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedServerResponseTime": {
    "message": "เซิร์ฟเวอร์ตอบสนองช้า (สังเกต {PH1})"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedTextCompression": {
    "message": "ไม่ได้ใช้การบีบอัด"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingRedirects": {
    "message": "หลีกเลี่ยงการเปลี่ยนเส้นทาง"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingServerResponseTime": {
    "message": "เซิร์ฟเวอร์ตอบสนองเร็ว (สังเกต {PH1})"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingTextCompression": {
    "message": "ใช้การบีบอัดข้อความ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | redirectsLabel": {
    "message": "เปลี่ยนเส้นทาง"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | serverResponseTimeLabel": {
    "message": "เวลาในการตอบกลับของเซิร์ฟเวอร์"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | title": {
    "message": "เวลาในการตอบสนองต่อคำขอเอกสาร"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | uncompressedDownload": {
    "message": "การดาวน์โหลดที่ไม่มีการบีบอัด"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | columnDuplicatedBytes": {
    "message": "ไบต์ที่ซ้ำกัน"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | columnSource": {
    "message": "แหล่งที่มา"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | description": {
    "message": "นำโมดูล JavaScript ขนาดใหญ่ที่ซ้ำกันออกจากแพ็กเกจเพื่อลดจำนวนไบต์ที่ไม่จำเป็นที่กิจกรรมเครือข่ายใช้"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | title": {
    "message": "JavaScript ที่ซ้ำกัน"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | description": {
    "message": "ลองตั้งค่า [font-display](https://developer.chrome.com/blog/font-display) เป็น swap หรือ optional เพื่อให้ผู้ใช้มองเห็นข้อความได้เสมอ swap สามารถเพิ่มประสิทธิภาพเพิ่มเติมเพื่อลดการเปลี่ยนแปลงเลย์เอาต์ด้วย[การลบล้างเมตริกแบบอักษร](https://developer.chrome.com/blog/font-fallbacks)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | fontColumn": {
    "message": "แบบอักษร"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | title": {
    "message": "การแสดงแบบอักษร"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | wastedTimeColumn": {
    "message": "เวลาที่เสียไป"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | anonymous": {
    "message": "(ไม่ระบุชื่อ)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | description": {
    "message": "การบังคับให้จัดเรียงใหม่เกิดขึ้นเมื่อ JavaScript ค้นหาพร็อพเพอร์ตี้ทางเรขาคณิต (เช่น offsetWidth) หลังจากที่รูปแบบไม่ถูกต้องเนื่องจากการเปลี่ยนแปลงสถานะ DOM ซึ่งอาจส่งผลให้ประสิทธิภาพไม่ดี ดูข้อมูลเพิ่มเติมเกี่ยวกับ[การบังคับให้จัดเรียงใหม่](https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#avoid-forced-synchronous-layouts)และการลดผลกระทบที่อาจเกิดขึ้น"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | relatedStackTrace": {
    "message": "สแต็กเทรซ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | title": {
    "message": "การบังคับให้จัดเรียงใหม่"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | topTimeConsumingFunctionCall": {
    "message": "การเรียกใช้ฟังก์ชันยอดนิยม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | totalReflowTime": {
    "message": "เวลาในการจัดเรียงใหม่ทั้งหมด"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | unattributed": {
    "message": "[ไม่มีการระบุแหล่งที่มา]"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | description": {
    "message": "เริ่มการตรวจสอบจากส่วนย่อยที่ใช้เวลานานที่สุด [ลดการหน่วงเวลาให้น้อยที่สุด](https://web.dev/articles/optimize-inp#optimize_interactions) หากต้องการลดระยะเวลาในการประมวลผล ให้[เพิ่มประสิทธิภาพการทำงานของเทรดหลัก](https://web.dev/articles/optimize-long-tasks) ซึ่งมักจะเป็นส่วนของ JS"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | duration": {
    "message": "ระยะเวลา"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | inputDelay": {
    "message": "ความล่าช้าของอินพุต"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | noInteractions": {
    "message": "ไม่พบการโต้ตอบ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | presentationDelay": {
    "message": "ความล่าช้าของงานนำเสนอ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | processingDuration": {
    "message": "ระยะเวลาในการประมวลผล"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | subpart": {
    "message": "ส่วนย่อย"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | title": {
    "message": "รายละเอียด INP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | description": {
    "message": "การลดเวลาดาวน์โหลดรูปภาพจะช่วยปรับปรุงเวลาที่ใช้ในการโหลดที่รับรู้ของหน้าเว็บและ LCP ได้ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มประสิทธิภาพขนาดรูปภาพ](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | estimatedSavings": {
    "message": "{PH1} (ประมาณ {PH2})"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | noOptimizableImages": {
    "message": "ไม่มีรูปภาพที่เพิ่มประสิทธิภาพได้"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | optimizeFile": {
    "message": "เพิ่มประสิทธิภาพขนาดไฟล์"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | others": {
    "message": "อีก {PH1} รายการ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | title": {
    "message": "ปรับปรุงการนำส่งรูปภาพ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useCompression": {
    "message": "การเพิ่มค่าการบีบอัดรูปภาพสามารถปรับปรุงขนาดการดาวน์โหลดของรูปภาพนี้ได้"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useModernFormat": {
    "message": "การใช้รูปแบบรูปภาพสมัยใหม่ (WebP, AVIF) หรือการเพิ่มการบีบอัดรูปภาพอาจช่วยปรับปรุงขนาดการดาวน์โหลดของรูปภาพนี้ได้"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useResponsiveSize": {
    "message": "ไฟล์ภาพนี้มีขนาดใหญ่เกินความจำเป็น ({PH1}) สำหรับมิติข้อมูลที่แสดง ({PH2}) โปรดใช้รูปภาพที่ปรับเปลี่ยนตามอุปกรณ์เพื่อลดขนาดการดาวน์โหลดรูปภาพ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useVideoFormat": {
    "message": "การใช้รูปแบบวิดีโอแทน GIF จะช่วยปรับปรุงขนาดการดาวน์โหลดเนื้อหาที่เป็นภาพเคลื่อนไหวได้"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | description": {
    "message": "แต่ละ[ส่วนย่อยมีกลยุทธ์การปรับปรุงเฉพาะ](https://web.dev/articles/optimize-lcp#lcp-breakdown) โดยปกติแล้ว เวลาส่วนใหญ่ของ LCP ควรใช้ไปกับการโหลดทรัพยากร ไม่ใช่การหน่วงเวลา"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | duration": {
    "message": "ระยะเวลา"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | elementRenderDelay": {
    "message": "ความล่าช้าในการแสดงผลองค์ประกอบ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | fieldDuration": {
    "message": "ช่อง p75"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | noLcp": {
    "message": "ไม่พบ LCP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | resourceLoadDelay": {
    "message": "ความล่าช้าของการโหลดทรัพยากร"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | resourceLoadDuration": {
    "message": "ระยะเวลาในการโหลดทรัพยากร"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | subpart": {
    "message": "ส่วนย่อย"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | timeToFirstByte": {
    "message": "เวลาที่ได้รับข้อมูลไบต์แรก"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | title": {
    "message": "รายละเอียด LCP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | description": {
    "message": "เพิ่มประสิทธิภาพ LCP โดยทำให้รูปภาพ LCP [ค้นพบได้](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay)จาก HTML ทันที และ[หลีกเลี่ยงการโหลดแบบ Lazy Loading](https://web.dev/articles/lcp-lazy-loading)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityApplied": {
    "message": "ใช้ลำดับความสำคัญในการดึงข้อมูล=สูงอยู่"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeApplied": {
    "message": "ควรใช้ fetchpriority=high"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lazyLoadNotApplied": {
    "message": "ไม่ได้ใช้การโหลดแบบ Lazy Loading"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lcpLoadDelay": {
    "message": "รูปภาพ LCP ใช้เวลาโหลด {PH1} หลังจากจุดเริ่มต้นแรกสุด"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | noLcp": {
    "message": "ไม่พบ LCP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | noLcpResource": {
    "message": "ไม่พบทรัพยากร LCP เนื่องจาก LCP ไม่ใช่รูปภาพ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | requestDiscoverable": {
    "message": "คำขอสามารถค้นพบได้ในเอกสารเริ่มต้น"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | title": {
    "message": "การค้นพบคำขอ LCP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | columnScript": {
    "message": "สคริปต์"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | columnWastedBytes": {
    "message": "ไบต์ที่เสียไป"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | description": {
    "message": "Polyfill และการเปลี่ยนรูปแบบช่วยให้เบราว์เซอร์เดิมใช้ฟีเจอร์ JavaScript ใหม่ได้ แต่ส่วนมากจะไม่จำเป็นสำหรับเบราว์เซอร์ที่ทันสมัย ลองแก้ไขกระบวนการบิลด์ JavaScript เพื่อไม่ให้ทำการ Transpile ฟีเจอร์ [Baseline](https://web.dev/articles/baseline-and-polyfills) เว้นแต่คุณจะรู้ว่าต้องรองรับเบราว์เซอร์เดิม [ดูสาเหตุที่เว็บไซต์ส่วนใหญ่สามารถติดตั้งใช้งานโค้ด ES6+ ได้โดยไม่ต้องทำการ Transpile](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | title": {
    "message": "JavaScript เดิม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | description": {
    "message": "HTTP/2 และ HTTP/3 มีประโยชน์มากกว่า HTTP/1.1 หลายประการ เช่น ในด้านการมัลติเพล็กซ์ [ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ HTTP ที่ทันสมัย](https://developer.chrome.com/docs/lighthouse/best-practices/uses-http2/)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | noOldProtocolRequests": {
    "message": "ไม่มีคำขอที่ใช้ HTTP/1.1 หรือการใช้ HTTP/1.1 ในปัจจุบันไม่ได้แสดงโอกาสในการเพิ่มประสิทธิภาพอย่างมีนัยสำคัญ ระบบจะระบุคำขอ HTTP/1.1 เฉพาะในกรณีที่มีชิ้นงานแบบคงที่ 6 รายการขึ้นไปมาจากต้นทางเดียวกัน และไม่ได้แสดงจากสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ในเครื่องหรือจากแหล่งที่มาของบุคคลที่สาม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | protocol": {
    "message": "โปรโตคอล"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | request": {
    "message": "คำขอ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | title": {
    "message": "HTTP ที่ทันสมัย"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnOrigin": {
    "message": "ต้นทาง"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnRequest": {
    "message": "คำขอ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnSource": {
    "message": "แหล่งที่มา"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnTime": {
    "message": "เวลา"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnWastedMs": {
    "message": "การประหยัด LCP โดยประมาณ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | crossoriginWarning": {
    "message": "การเชื่อมต่อล่วงหน้าที่ไม่ได้ใช้ โปรดตรวจสอบว่าใช้แอตทริบิวต์ crossorigin อย่างถูกต้องแล้ว"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | description": {
    "message": "[หลีกเลี่ยงการเชนคำขอที่สำคัญ](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains)โดยลดความยาวของเชน ลดขนาดการดาวน์โหลดของทรัพยากร หรือเลื่อนเวลาการดาวน์โหลดทรัพยากรที่ไม่จำเป็นเพื่อปรับปรุงการโหลดหน้าเว็บ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | estSavingTableDescription": {
    "message": "เพิ่มคำแนะนำ[การเชื่อมต่อล่วงหน้า](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/)ไปยังต้นทางที่สำคัญที่สุด แต่พยายามใช้ไม่เกิน 4"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | estSavingTableTitle": {
    "message": "ตัวเลือกการเชื่อมต่อล่วงหน้า"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | maxCriticalPathLatency": {
    "message": "เวลาในการตอบสนองสูงสุดของเส้นทางที่สำคัญ:"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noNetworkDependencyTree": {
    "message": "ไม่มีงานการแสดงผลที่ได้รับผลกระทบจากทรัพยากร Dependency ของเครือข่าย"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noPreconnectCandidates": {
    "message": "ไม่มีตัวเลือกต้นทางเพิ่มเติมที่เหมาะสําหรับการเชื่อมต่อล่วงหน้า"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noPreconnectOrigins": {
    "message": "ไม่ได้เชื่อมต่อกับต้นทางไว้ล่วงหน้า"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | preconnectOriginsTableDescription": {
    "message": "คำแนะนำ[การเชื่อมต่อล่วงหน้า](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/)ทำให้เบราว์เซอร์สร้างการเชื่อมต่อได้เร็วขึ้นเมื่อโหลดหน้าเว็บ ซึ่งจะช่วยประหยัดเวลาเมื่อมีการขอข้อมูลต้นทางครั้งแรก ต้นทางที่หน้าเว็บเชื่อมต่อไว้ล่วงหน้ามีดังนี้"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | preconnectOriginsTableTitle": {
    "message": "ต้นทางที่เชื่อมต่อไว้ล่วงหน้า"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | title": {
    "message": "แผนผังทรัพยากร Dependency ของเครือข่าย"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | tooManyPreconnectLinksWarning": {
    "message": "พบการเชื่อมต่อ preconnect มากกว่า 4 รายการ ควรใช้การเชื่อมต่อเช่นนี้เท่าที่จำเป็นและใช้กับต้นทางที่สำคัญที่สุดเท่านั้น"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | unusedWarning": {
    "message": "การเชื่อมต่อล่วงหน้าที่ไม่ได้ใช้ ใช้ preconnect กับต้นทางที่หน้าเว็บมีแนวโน้มจะขอเท่านั้น"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | warningDescription": {
    "message": "หลีกเลี่ยงการเชนคำขอที่สำคัญโดยลดความยาวของเชน ลดขนาดการดาวน์โหลดของทรัพยากร หรือเลื่อนเวลาการดาวน์โหลดทรัพยากรที่ไม่จำเป็นเพื่อปรับปรุงการโหลดหน้าเว็บ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | description": {
    "message": "คำขอกำลังบล็อกการแสดงผลเริ่มต้นของหน้าเว็บ ซึ่งอาจทำให้ LCP ล่าช้า [การเลื่อนเวลาหรือแทรกในหน้า](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources)สามารถย้ายคำขอเครือข่ายเหล่านี้ออกจากเส้นทางที่สำคัญได้"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | duration": {
    "message": "ระยะเวลา"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | noRenderBlocking": {
    "message": "ไม่มีคำขอบล็อกการแสดงผลสำหรับการนำทางนี้"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | renderBlockingRequest": {
    "message": "คำขอ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | title": {
    "message": "แสดงผลคำขอบล็อก"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | description": {
    "message": "หากต้นทุนในการคำนวณรูปแบบอีกครั้งยังคงสูงอยู่ การเพิ่มประสิทธิภาพตัวเลือกจะลดต้นทุนได้ [เพิ่มประสิทธิภาพตัวเลือก](https://developer.chrome.com/docs/devtools/performance/selector-stats)ด้วยทั้งเวลาที่ผ่านไปนานและ % ของเส้นทางที่ช้าที่สูง ตัวเลือกที่เรียบง่ายขึ้น, ตัวเลือกที่น้อยลง, DOM ที่เล็กลง และ DOM ที่ตื้นขึ้นจะช่วยลดต้นทุนการจับคู่ได้ทั้งหมด"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | elapsed": {
    "message": "เวลาที่ผ่านไป"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | enableSelectorData": {
    "message": "ไม่พบข้อมูลตัวเลือก CSS ต้องเปิดใช้สถิติตัวเลือก CSS ในการตั้งค่าแผงประสิทธิภาพ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | matchAttempts": {
    "message": "ความพยายามจับคู่ที่ตรงกัน"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | matchCount": {
    "message": "จำนวนการจับคู่ที่ตรงกัน"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | title": {
    "message": "ต้นทุนของตัวเลือก CSS"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectorElapsedTime": {
    "message": "เวลาที่ผ่านไปของตัวเลือกยอดนิยม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectorMatchAttempt": {
    "message": "ความพยายามในการจับคู่ตัวเลือกยอดนิยม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectors": {
    "message": "ตัวเลือกยอดนิยม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | total": {
    "message": "รวม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnMainThreadTime": {
    "message": "เวลาของเทรดหลัก"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnThirdParty": {
    "message": "บุคคลที่สาม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnTransferSize": {
    "message": "ขนาดการโอน"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | description": {
    "message": "โค้ดของบุคคลที่สามอาจส่งผลกระทบที่สำคัญต่อประสิทธิภาพการโหลด [ลดและเลื่อนการโหลดโค้ดของบุคคลที่สามออกไป](https://web.dev/articles/optimizing-content-efficiency-loading-third-party-javascript/)เพื่อจัดลำดับความสำคัญของเนื้อหาในหน้าเว็บ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | noThirdParties": {
    "message": "ไม่พบบุคคลที่สาม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | title": {
    "message": "บุคคลที่สาม"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | description": {
    "message": "การโต้ตอบด้วยการแตะอาจ[มีการหน่วงเวลาสูงสุด 300 มิลลิวินาที](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/)หากวิวพอร์ตไม่เหมาะกับมือถือ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | mobileTapDelayLabel": {
    "message": "การหน่วงเวลาการแตะบนมือถือ"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | title": {
    "message": "เพิ่มประสิทธิภาพวิวพอร์ตสำหรับมือถือ"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | HTTPMethodNotGET": {
    "message": "เฉพาะหน้าที่โหลดผ่านคำขอ GET เท่านั้นที่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | HTTPStatusNotOK": {
    "message": "เฉพาะหน้าที่มีรหัสสถานะ 2XX เท่านั้นที่แคชได้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | JavaScriptExecution": {
    "message": "Chrome ตรวจพบความพยายามที่จะเรียกใช้ JavaScript ขณะอยู่ในแคช"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | appBanner": {
    "message": "หน้าที่ขอ AppBanner ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabled": {
    "message": "แคชย้อนหลังถูกปิดใช้งานจากการแจ้งว่าไม่เหมาะสม ไปที่ chrome://flags/#back-forward-cache เพื่อเปิดใช้งานในอุปกรณ์นี้โดยตรง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledByCommandLine": {
    "message": "แคชย้อนหลังถูกปิดใช้งานโดยบรรทัดคำสั่ง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledByLowMemory": {
    "message": "แคชย้อนหลังถูกปิดใช้งานเนื่องจากหน่วยความจำไม่พอ"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledForDelegate": {
    "message": "Delegate ไม่รองรับแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledForPrerender": {
    "message": "แคชย้อนหลังถูกปิดใช้งานสำหรับตัวแสดงผลล่วงหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | broadcastChannel": {
    "message": "แคชหน้านี้ไม่ได้เพราะมีอินสแตนซ์ BroadcastChannel ที่ Listener ลงทะเบียนไว้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheControlNoStore": {
    "message": "หน้าที่มีส่วนหัว cache-control:no-store ไม่สามารถเข้าถึงแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheFlushed": {
    "message": "มีการล้างแคชโดยตั้งใจ"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheLimit": {
    "message": "หน้านี้ถูกนำออกจากแคชเพื่อให้แคชหน้าอื่นได้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | containsPlugins": {
    "message": "หน้าที่มีปลั๊กอินยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentDiscarded": {
    "message": "ไม่ระบุ"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentFileChooser": {
    "message": "หน้าที่ใช้ FileChooser API ไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentFileSystemAccess": {
    "message": "หน้าที่ใช้ File System Access API ไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaDevicesDispatcherHost": {
    "message": "หน้าที่ใช้ตัวส่งสำหรับอุปกรณ์สื่อไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaPlay": {
    "message": "มีเดียเพลเยอร์กำลังเล่นอยู่ขณะที่มีการออกจากหน้าไป"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaSession": {
    "message": "หน้าที่ใช้ MediaSession API และมีการตั้งสถานะการเล่นไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaSessionService": {
    "message": "หน้าที่ใช้ MediaSession API และมีการตั้งตัวจัดการการทำงานไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentScreenReader": {
    "message": "แคชย้อนหลังถูกปิดใช้เนื่องจากโปรแกรมอ่านหน้าจอ"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentSecurityHandler": {
    "message": "หน้าที่ใช้ SecurityHandler ไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentSerial": {
    "message": "หน้าที่ใช้ Serial API ไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebAuthenticationAPI": {
    "message": "หน้าที่ใช้ WebAuthetication API ไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebBluetooth": {
    "message": "หน้าที่ใช้ WebBluetooth API ไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebUSB": {
    "message": "หน้าที่ใช้ WebUSB API ไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cookieDisabled": {
    "message": "Back/Forward Cache ถูกปิดใช้เนื่องจากมีการปิดใช้คุกกี้ในหน้าที่ใช้ Cache-Control: no-store"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | dedicatedWorkerOrWorklet": {
    "message": "หน้าที่ใช้ Dedicated Worker หรือ Worklet ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | documentLoaded": {
    "message": "เอกสารโหลดไม่เสร็จก่อนที่จะมีการออกจากหน้าไป"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderAppBannerManager": {
    "message": "พบแบนเนอร์แอปขณะที่มีการออกจากหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderChromePasswordManagerClientBindCredentialManager": {
    "message": "พบเครื่องมือจัดการรหัสผ่านของ Chrome ขณะที่มีการออกจากหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderDomDistillerSelfDeletingRequestDelegate": {
    "message": "กำลังแยกเอลิเมนต์ DOM ขณะที่มีการออกจากหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderDomDistillerViewerSource": {
    "message": "พบโปรแกรมดูเครื่องมือแยกเอลิเมนต์ DOM ขณะที่มีการออกจากหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionMessaging": {
    "message": "แคชย้อนหลังถูกปิดใช้เนื่องจากส่วนขยายที่ใช้ API การรับส่งข้อความ"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionMessagingForOpenPort": {
    "message": "ส่วนขยายที่มีการเชื่อมต่อระยะเวลานานควรปิดการเชื่อมต่อก่อนที่จะจัดเก็บไว้ในแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionSentMessageToCachedFrame": {
    "message": "ส่วนขยายที่มีการเชื่อมต่อระยะเวลานานพยายามส่งข้อความถึงเฟรมในแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensions": {
    "message": "แคชย้อนหลังถูกปิดใช้เนื่องจากส่วนขยาย"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderModalDialog": {
    "message": "กล่องโต้ตอบโมดัล เช่น การส่งแบบฟอร์มอีกครั้งหรือรหัสผ่าน HTTP แสดงขึ้นขณะที่มีการออกจากหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderOfflinePage": {
    "message": "หน้าแบบออฟไลน์แสดงขึ้นขณะที่มีการออกจากหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderOomInterventionTabHelper": {
    "message": "พบแถบการแทรกแซง \"หน่วยความจำไม่เพียงพอ\" ขณะที่มีการออกจากหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderPermissionRequestManager": {
    "message": "มีคำขอสิทธิ์ขณะที่มีการออกจากหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderPopupBlockerTabHelper": {
    "message": "พบตัวบล็อกป็อปอัปขณะที่มีการออกจากหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderSafeBrowsingThreatDetails": {
    "message": "รายละเอียด Google Safe Browsing แสดงขึ้นขณะที่มีการออกจากหน้า"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderSafeBrowsingTriggeredPopupBlocker": {
    "message": "Google Safe Browsing ถือว่าหน้านี้มีการละเมิดและได้บล็อกป๊อปอัป"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
    "message": "มีการเปิดใช้งาน Service Worker ขณะที่หน้าอยู่ในแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | errorDocument": {
    "message": "ปิดใช้ Back-Forward Cache เนื่องจากเอกสารมีข้อผิดพลาด"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | fencedFramesEmbedder": {
    "message": "หน้าที่ใช้ FencedFrames จัดเก็บใน bfcache ไม่ได้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | foregroundCacheLimit": {
    "message": "หน้านี้ถูกนำออกจากแคชเพื่อให้แคชหน้าอื่นได้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | grantedMediaStreamAccess": {
    "message": "หน้าที่ให้สิทธิ์สตรีมสื่อยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | haveInnerContents": {
    "message": "หน้าที่มีเนื้อหาบางชนิดฝังอยู่ (เช่น PDF) ยังไม่มีสิทธิ์ใช้ฟีเจอร์ Back-Forward Cache ในขณะนี้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | idleManager": {
    "message": "หน้าที่ใช้ IdleManager ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | indexedDBConnection": {
    "message": "หน้าที่มีการเชื่อมต่อ IndexedDB แบบเปิดยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | indexedDBEvent": {
    "message": "Back-Forward Cache ถูกปิดใช้เนื่องจากเหตุการณ์ IndexedDB"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | ineligibleAPI": {
    "message": "มีการใช้ API ที่ไม่มีสิทธิ์"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | injectedJavascript": {
    "message": "หน้าที่มีการแทรก JavaScript ลงในส่วนขยายยังไม่มีสิทธิ์ใช้ฟีเจอร์ Back-Forward Cache ในขณะนี้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | injectedStyleSheet": {
    "message": "หน้าที่มีการแทรกStyleSheetลงในส่วนขยายยังไม่มีสิทธิ์ใช้ฟีเจอร์ Back-Forward Cache ในขณะนี้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | internalError": {
    "message": "ข้อผิดพลาดภายใน"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | jsNetworkRequestReceivedCacheControlNoStoreResource": {
    "message": "Back/Forward Cache ถูกปิดใช้เนื่องจากคำขอของเครือข่าย JavaScript บางรายการได้รับทรัพยากรที่มีส่วนหัว Cache-Control: no-store"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | keepaliveRequest": {
    "message": "Back-Forward Cache ถูกปิดใช้เนื่องจากคำขอ Keepalive"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | keyboardLock": {
    "message": "หน้าที่ใช้การล็อกแป้นพิมพ์ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | loading": {
    "message": "หน้านี้โหลดไม่เสร็จก่อนที่จะมีการออกจากหน้าไป"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | mainResourceHasCacheControlNoCache": {
    "message": "หน้าที่ทรัพยากรหลักของหน้ามี cache-control:no-cache ไม่สามารถเข้าถึงแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | mainResourceHasCacheControlNoStore": {
    "message": "หน้าที่ทรัพยากรหลักของหน้ามี cache-control:no-store ไม่สามารถเข้าถึงแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | navigationCancelledWhileRestoring": {
    "message": "มีการยกเลิกการนำทางก่อนที่จะสามารถกู้คืนหน้าจากแคชย้อนหลังได้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkExceedsBufferLimit": {
    "message": "หน้าถูกนำออกจากแคชเพราะการเชื่อมต่อเครือข่ายที่ทำงานอยู่ได้รับข้อมูลมากเกินไป Chrome จำกัดปริมาณข้อมูลที่แต่ละหน้าสามารถรับได้ขณะที่มีการแคชหน้าไว้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestDatapipeDrainedAsBytesConsumer": {
    "message": "หน้าที่คำขอ fetch() หรือ XHR กำลังทำงานยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestRedirected": {
    "message": "หน้าถูกนำออกจากแคชย้อนหลังเพราะคำขอเครือข่ายที่ใช้งานอยู่เกี่ยวข้องกับการเปลี่ยนเส้นทาง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestTimeout": {
    "message": "หน้านี้ถูกนำออกจากแคชเพราะเปิดการเชื่อมต่อเครือข่ายไว้นานเกินไป Chrome จำกัดเวลาที่หน้าสามารถรับข้อมูลขณะแคช"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | noResponseHead": {
    "message": "หน้าที่ไม่มีส่วนหัวการตอบกลับที่ถูกต้องไม่สามารถเข้าถึงแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | notMainFrame": {
    "message": "มีการนำทางเกิดขึ้นในเฟรมอื่นนอกเหนือจากเฟรมหลัก"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingIndexedDBTransaction": {
    "message": "หน้าที่ธุรกรรมฐานข้อมูลได้รับการจัดทำดัชนีอย่างต่อเนื่องยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestDirectSocket": {
    "message": "หน้าที่คำขอเครือข่ายกำลังทำงานยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestFetch": {
    "message": "หน้าที่คำขอดึงข้อมูลจากเครือข่ายกำลังทำงานยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestOthers": {
    "message": "หน้าที่คำขอเครือข่ายกำลังทำงานยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestXHR": {
    "message": "หน้าที่คำขอเครือข่าย XHR กำลังทำงานยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | paymentManager": {
    "message": "หน้าที่ใช้ PaymentManager ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | pictureInPicture": {
    "message": "หน้าที่ใช้การแสดงภาพซ้อนภาพยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | printing": {
    "message": "หน้าที่แสดง Printing UI ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | relatedActiveContentsExist": {
    "message": "มีการเปิดหน้านี้โดยใช้ \"window.open()\" และมีการอ้างอิงจากแท็บอื่น หรือหน้านี้เปิดหน้าต่างขึ้นมา"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | rendererProcessCrashed": {
    "message": "การประมวลการแสดงผลสำหรับหน้านี้ในแคชย้อนหลังเกิดการขัดข้อง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | rendererProcessKilled": {
    "message": "การประมวลการแสดงผลสำหรับหน้านี้ในแคชย้อนหลังถูกตัด"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedAudioCapturePermission": {
    "message": "หน้าที่มีการขอสิทธิ์บันทึกเสียงยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedBackForwardCacheBlockedSensors": {
    "message": "หน้าที่ขอสิทธิ์เข้าถึงข้อมูลเซ็นเซอร์ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedBackgroundWorkPermission": {
    "message": "หน้าที่มีการขอสิทธิ์เพื่อซิงค์เบื้องหลังหรือดึงข้อมูลยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedMIDIPermission": {
    "message": "หน้าที่มีการขอสิทธิ์ MIDI ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedNotificationsPermission": {
    "message": "หน้าที่มีการขอสิทธิ์ส่งการแจ้งเตือนยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedStorageAccessGrant": {
    "message": "หน้าที่มีการขอการเข้าถึงพื้นที่เก็บข้อมูลยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedVideoCapturePermission": {
    "message": "หน้าที่มีการขอสิทธิ์บันทึกวิดีโอยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | schemeNotHTTPOrHTTPS": {
    "message": "เฉพาะหน้าที่รูปแบบ URL ของหน้าเป็น HTTP / HTTPS เท่านั้นที่สามารถแคชไว้ได้"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerClaim": {
    "message": "มี Service Worker อ้างสิทธิ์หน้านี้ขณะอยู่ในแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerPostMessage": {
    "message": "มี Service Worker พยายามส่ง MessageEvent ให้หน้าที่อยู่ในแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerUnregistration": {
    "message": "มีการยกเลิกการลงทะเบียน ServiceWorker ขณะที่หน้าอยู่ในแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerVersionActivation": {
    "message": "หน้านี้ถูกนำออกจากแคชย้อนหลังเนื่องจากมีการเปิดใช้งาน Service Worker"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sessionRestored": {
    "message": "Chrome รีสตาร์ทและล้างรายการแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sharedWorker": {
    "message": "หน้าที่ใช้ SharedWorker ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sharedWorkerMessage": {
    "message": "หน้านี้ถูกนำออกจากแคชเนื่องจากได้รับข้อความจาก SharedWorker"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | speechRecognizer": {
    "message": "หน้าที่ใช้ SpeechRecognizer ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | speechSynthesis": {
    "message": "หน้าที่ใช้ SpeechSynthesis ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subframeIsNavigating": {
    "message": "iframe ในหน้าเริ่มการนำทางที่ไม่เสร็จสมบูรณ์"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subresourceHasCacheControlNoCache": {
    "message": "หน้าที่ทรัพยากรย่อยของหน้ามี cache-control:no-cache ไม่สามารถเข้าถึงแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subresourceHasCacheControlNoStore": {
    "message": "หน้าที่ทรัพยากรย่อยของหน้ามี cache-control:no-store ไม่สามารถเข้าถึงแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | timeout": {
    "message": "หน้านี้อยู่ในแคชย้อนหลังเกินเวลาที่จำกัดและหมดอายุไปแล้ว"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | timeoutPuttingInCache": {
    "message": "หมดเวลาเข้าถึงแคชย้อนหลังสำหรับหน้านี้ (น่าจะเป็นเพราะตัวจัดการสำหรับซ่อนหน้าทำงานเป็นเวลานาน)"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | unloadHandlerExistsInMainFrame": {
    "message": "หน้านี้มีตัวจัดการสำหรับยกเลิกการโหลดติดตั้งอยู่ในเฟรมหลัก"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | unloadHandlerExistsInSubFrame": {
    "message": "หน้านี้มีตัวจัดการสำหรับยกเลิกการโหลดในเฟรมย่อย"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | userAgentOverrideDiffers": {
    "message": "เบราว์เซอร์ได้เปลี่ยนส่วนหัวการลบล้างของ User Agent"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | wasGrantedMediaAccess": {
    "message": "หน้าที่ให้สิทธิ์เข้าถึงเพื่อบันทึกวิดีโอหรือเสียงยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webDatabase": {
    "message": "หน้าที่ใช้ WebDatabase ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webHID": {
    "message": "หน้าที่ใช้ WebHID ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webLocks": {
    "message": "หน้าที่ใช้ WebLocks ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webNfc": {
    "message": "หน้าที่ใช้ WebNfc ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webOTPService": {
    "message": "หน้าที่ใช้ WebOTPService ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTC": {
    "message": "หน้าที่มี WebRTC ไม่สามารถเข้าถึงแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTCUsedWithCCNS": {
    "message": "Back-Forward Cache ถูกปิดเนื่องจากมีการใช้ WebRTC"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webShare": {
    "message": "หน้าที่ใช้ WebShare ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocket": {
    "message": "หน้าที่มี WebSocket ไม่สามารถเข้าถึงแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocketUsedWithCCNS": {
    "message": "Back-Forward Cache ถูกปิดเนื่องจากมีการใช้ WebSocket"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransport": {
    "message": "หน้าที่มี WebTransport ไม่สามารถเข้าถึงแคชย้อนหลัง"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransportUsedWithCCNS": {
    "message": "Back-Forward Cache ถูกปิดเนื่องจากมีการใช้ WebTransport"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webXR": {
    "message": "หน้าที่ใช้ WebXR ยังไม่สามารถใช้ฟีเจอร์แคชย้อนหลัง"
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
    "message": "สำหรับเนื้อหาที่เป็นภาพเคลื่อนไหว ให้ใช้ [`amp-anim`](https://amp.dev/documentation/components/amp-anim/) เพื่อลดการใช้ CPU ขณะที่เนื้อหาไม่ได้อยู่ในหน้าจอ"
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | modern-image-formats": {
    "message": "ลองแสดงคอมโพเนนต์ [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) ทั้งหมดในรูปแบบ WebP โดยกำหนดการสำรองที่เหมาะสมให้กับเบราว์เซอร์อื่นด้วย [ดูข้อมูลเพิ่มเติม](https://amp.dev/documentation/components/amp-img/#example:-specifying-a-fallback-image)"
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | offscreen-images": {
    "message": "ตรวจสอบว่าคุณกำลังใช้ [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) สำหรับรูปภาพเพื่อโหลดแบบ Lazy Loading โดยอัตโนมัติ [ดูข้อมูลเพิ่มเติม](https://amp.dev/documentation/guides-and-tutorials/develop/media_iframes_3p/?format=websites#images)"
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | render-blocking-resources": {
    "message": "ใช้เครื่องมือ เช่น [AMP Optimizer](https://github.com/ampproject/amp-toolbox/tree/master/packages/optimizer) เพื่อ[แสดงเลย์เอาต์ AMP ฝั่งเซิร์ฟเวอร์](https://amp.dev/documentation/guides-and-tutorials/optimize-and-measure/server-side-rendering/)"
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | unminified-css": {
    "message": "ดู[เอกสาร AMP](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/style_pages/) เพื่อให้แน่ใจว่าระบบรองรับรูปแบบทั้งหมด"
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | uses-responsive-images": {
    "message": "คอมโพเนนต์ [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) รองรับแอตทริบิวต์ [`srcset`](https://web.dev/use-srcset-to-automatically-choose-the-right-image/) เพื่อกำหนดเนื้อหารูปภาพที่จะใช้ตามขนาดของหน้าจอ [ดูข้อมูลเพิ่มเติม](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/art_direction/)"
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | dom-size": {
    "message": "ลองใช้การเลื่อนเสมือนจริงด้วย Component Dev Kit (CDK) หากกำลังแสดงรายการที่ใหญ่มาก [ดูข้อมูลเพิ่มเติม](https://web.dev/virtualize-lists-with-angular-cdk/)"
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | total-byte-weight": {
    "message": "ใช้[การแยกโค้ดระดับเส้นทาง](https://web.dev/route-level-code-splitting-in-angular/)เพื่อลดขนาดกลุ่ม JavaScript และลองแคชเนื้อหาล่วงหน้าด้วย [Angular Service Worker](https://web.dev/precaching-with-the-angular-service-worker/)"
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | unminified-warning": {
    "message": "หากคุณกำลังใช้ Angular CLI โปรดตรวจสอบให้แน่ใจว่ารุ่นดังกล่าวสร้างขึ้นในโหมดที่ใช้งานจริง [ดูข้อมูลเพิ่มเติม](https://angular.io/guide/deployment#enable-runtime-production-mode)"
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | unused-javascript": {
    "message": "หากคุณกำลังใช้ Angular CLI ให้รวมแมปที่มาลงในรุ่นที่ใช้งานจริงเพื่อตรวจสอบกลุ่ม [ดูข้อมูลเพิ่มเติม](https://angular.io/guide/deployment#inspect-the-bundles)"
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | uses-rel-preload": {
    "message": "โหลดเส้นทางล่วงหน้าก่อนเวลาเพื่อเร่งความเร็วในการไปยังส่วนต่างๆ [ดูข้อมูลเพิ่มเติม](https://web.dev/route-preloading-in-angular/)"
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | uses-responsive-images": {
    "message": "ลองใช้ยูทิลิตี `BreakpointObserver` ใน Component Dev Kit (CDK) เพื่อจัดการเบรกพอยท์ของภาพ [ดูข้อมูลเพิ่มเติม](https://material.angular.io/cdk/layout/overview)"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | efficient-animated-content": {
    "message": "ลองอัปโหลด `GIF` ไปยังบริการซึ่งจะทำให้ใช้ GIF เพื่อฝังเป็นวิดีโอ HTML5 ได้"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | modern-image-formats": {
    "message": "ลองกำหนดค่า[รูปแบบรูปภาพ WebP ด้วยการแปลงสไตล์รูปภาพ](https://www.drupal.org/docs/core-modules-and-themes/core-modules/image-module/working-with-images#styles)ในเว็บไซต์"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | offscreen-images": {
    "message": "ลองกำหนดค่ารูปภาพที่โหลดแบบ Lazy Loading ใน `Drupal` ตัวจัดรูปแบบช่องสำหรับรูปภาพรองรับ `lazy` หรือ `eager`"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | prioritize-lcp-image": {
    "message": "หากเพิ่มองค์ประกอบ LCP ในหน้าเว็บแบบไดนามิก คุณควรเพิ่มประสิทธิภาพรูปภาพเพื่อปรับปรุง LCP [ดูข้อมูลเพิ่มเติม](https://www.smashingmagazine.com/2023/08/methods-improving-drupal-largest-contentful-paint-core-web-vital/)"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | redirects": {
    "message": "การเปลี่ยนเส้นทางทำให้เกิดความล่าช้ามากขึ้นก่อนที่หน้าเว็บจะโหลดได้ หากติดตั้งโมดูล [Redirect](https://www.drupal.org/project/redirect) ไว้ ให้ตรวจสอบว่าสามารถนำการเปลี่ยนเส้นทางที่ไม่จำเป็นออกได้หรือไม่ [ดูข้อมูลเพิ่มเติม](https://developers.google.com/web/tools/lighthouse/audits/redirects)"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | render-blocking-resources": {
    "message": "ลองใช้[โมดูล](https://www.drupal.org/project/critical_css)เพื่อแทรก CSS และ JavaScript ที่สำคัญในหน้า และใช้แอตทริบิวต์ที่เลื่อนเวลาออกไปสำหรับ CSS หรือ JavaScript ที่ไม่สำคัญ"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | server-response-time": {
    "message": "ลดภาระการเข้าชมด้วยโมดูลการแคช `Drupal` อย่างน้อย 1 โมดูล เช่น `Internal Page Cache`, `Internal Dynamic Page Cache` และ `BigPipe` เชื่อมต่อโมดูลเหล่านี้ด้วย CDN เพื่อปรับปรุงเวลาในการตอบกลับให้ดียิ่งขึ้น เซิร์ฟเวอร์โฮสติ้งควรใช้ประโยชน์จาก PHP OPcache ลองใช้การแคชหน่วยความจำ เช่น Redis หรือ Memcached เพื่อลดเวลาในการค้นหาฐานข้อมูล สุดท้าย ให้ใช้ธีมที่มีประสิทธิภาพ โมดูล และเซิร์ฟเวอร์ที่รวดเร็วกว่าเพื่อลดเวลาในการตอบกลับของเซิร์ฟเวอร์"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | total-byte-weight": {
    "message": "ลองใช้[สไตล์รูปภาพที่ปรับเปลี่ยนตามอุปกรณ์](https://www.drupal.org/documentation/modules/responsive_image)เพื่อลดขนาดของรูปภาพที่โหลดในหน้า หากคุณใช้`Views`เพื่อดูรายการเนื้อหาหลายรายการในหน้า ให้ลองใช้การใส่เลขหน้าเพื่อจำกัดจำนวนของรายการเนื้อหาที่แสดงในหน้าหนึ่งๆ"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-css": {
    "message": "ตรวจสอบว่าคุณได้เปิดใช้ \"รวมไฟล์ CSS\" ในหน้า \"การดูแลระบบ » การกำหนดค่า » การพัฒนา\""
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-javascript": {
    "message": "ตรวจสอบว่าคุณได้เปิดใช้ \"รวมไฟล์ JavaScript\" ในหน้า \"การดูแลระบบ » การกำหนดค่า » การพัฒนา\""
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unused-css-rules": {
    "message": "ลองนำกฎ CSS ที่ไม่ได้ใช้ออกและแนบเฉพาะไลบรารี `Drupal` ที่จำเป็นลงในหน้าที่เกี่ยวข้องหรือคอมโพเนนต์ในหน้า ดูรายละเอียดได้ที่[เอกสารประกอบ`Drupal`](https://www.drupal.org/docs/develop/theming-drupal/adding-assets-css-js-to-a-drupal-theme-via-librariesyml#define) หากต้องการระบุไลบรารีที่แนบซึ่งเพิ่ม CSS โดยไม่จำเป็น ลองเรียกใช้[การครอบคลุมของโค้ด](https://developer.chrome.com/docs/devtools/coverage)ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome คุณระบุธีม/โมดูลที่รับผิดชอบได้จาก URL ของสไตล์ชีตเมื่อปิดใช้การรวม CSS ในเว็บไซต์ `Drupal` หาธีม/โมดูลที่มีสไตล์ชีตจำนวนมากอยู่ในรายการซึ่งมีสีแดงอยู่จำนวนมากในการครอบคลุมของโค้ด ธีม/โมดูลควรแนบเฉพาะไลบรารีสไตล์ชีตหากมีการใช้งานจริงๆ ในหน้าเว็บ"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unused-javascript": {
    "message": "ลองนำเนื้อหา JavaScript ที่ไม่ได้ใช้ออกและแนบเฉพาะไลบรารี `Drupal` ที่จำเป็นลงในหน้าที่เกี่ยวข้องหรือคอมโพเนนต์ในหน้า ดูรายละเอียดได้ที่[เอกสารประกอบของ Drupal](https://www.drupal.org/docs/develop/theming-drupal/adding-assets-css-js-to-a-drupal-theme-via-librariesyml#define) หากต้องการระบุไลบรารีที่แนบซึ่งเพิ่ม JavaScript โดยไม่จำเป็น ลองเรียกใช้[การครอบคลุมของโค้ด](https://developer.chrome.com/docs/devtools/coverage)ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome คุณระบุธีม/โมดูลที่รับผิดชอบได้จาก URL ของสคริปต์เมื่อปิดใช้การรวม JavaScript ในเว็บไซต์ `Drupal` หาธีม/โมดูลที่มีสคริปต์จำนวนมากอยู่ในรายการซึ่งมีสีแดงอยู่จำนวนมากในการครอบคลุมของโค้ด ธีม/โมดูลควรแนบเฉพาะไลบรารีสคริปต์หากมีการใช้งานจริงๆ ในหน้าเว็บ"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-long-cache-ttl": {
    "message": "ตั้งค่า \"อายุสูงสุดของแคชในเบราว์เซอร์และพร็อกซี\" ในหน้า \"การดูแลระบบ » การกำหนดค่า » การพัฒนา\" อ่านเกี่ยวกับ[แคช `Drupal` และการเพิ่มประสิทธิภาพ](https://www.drupal.org/docs/8/api/cache-api/cache-api)"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-optimized-images": {
    "message": "ลองใช้[โมดูล](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A123&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=image&solrsort=iss_project_release_usage+desc&op=Search)ที่เพิ่มประสิทธิภาพและลดขนาดของรูปภาพที่อัปโหลดผ่านเว็บไซต์โดยอัตโนมัติขณะที่ยังคงรักษาคุณภาพไว้ และตรวจสอบว่าคุณกำลังใช้[สไตล์รูปภาพที่ปรับเปลี่ยนตามอุปกรณ์](https://www.drupal.org/documentation/modules/responsive_image)แบบเนทีฟจาก `Drupal` สำหรับรูปภาพทั้งหมดที่แสดงผลในเว็บไซต์"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-rel-preconnect": {
    "message": "เพิ่มคำแนะนำด้านทรัพยากร `Preconnect` หรือ `dns-prefetch` ได้โดยติดตั้งและกำหนดค่า[โมดูล](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=Preconnect&solrsort=score+desc&op=Search)ที่มีพื้นที่สำหรับคำแนะนำด้านทรัพยากรของ User Agent"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-responsive-images": {
    "message": "ตรวจสอบว่าคุณกำลังใช้[สไตล์รูปภาพที่ปรับเปลี่ยนตามอุปกรณ์](https://www.drupal.org/documentation/modules/responsive_image)แบบเนทีฟจาก `Drupal` ใช้สไตล์รูปภาพที่ปรับเปลี่ยนตามอุปกรณ์เมื่อแสดงผลช่องรูปภาพผ่านโหมดมุมมอง มุมมอง หรือรูปภาพที่อัปโหลดผ่านตัวแก้ไข WYSIWYG"
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-text-compression": {
    "message": "ทรัพยากรแบบข้อความควรแสดงผลโดยมีการบีบอัด (Gzip, Deflate หรือ Brotli) เพื่อลดจำนวนไบต์เครือข่ายทั้งหมด ลองใช้ CDN ที่รองรับการดำเนินการนี้ตามปกติ หรือกำหนดค่าเว็บเซิร์ฟเวอร์ให้ดำเนินการนี้ [ดูข้อมูลเพิ่มเติม](https://developers.google.com/web/tools/lighthouse/audits/text-compression)"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | font-display": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) และเปิดใช้งาน `Optimize Fonts` เพื่อใช้ประโยชน์จากฟีเจอร์ CSS สำหรับ `font-display` โดยอัตโนมัติ ซึ่งจะทำให้ผู้ใช้มองเห็นข้อความในขณะที่กำลังโหลดเว็บฟอนต์"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | modern-image-formats": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) และเปิดใช้ `Next-Gen Formats` เพื่อแปลงรูปภาพเป็นรูปแบบ WebP"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | offscreen-images": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) แล้วเปิดใช้ `Lazy Load Images` เพื่อเลื่อนเวลาโหลดรูปภาพนอกจอภาพ"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | render-blocking-resources": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) แล้วเปิดใช้ `Script Delay` เพื่อเลื่อน JS ที่ไม่สำคัญ"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | server-response-time": {
    "message": "ใช้ [Ezoic Cloud Caching](https://pubdash.ezoic.com/leap/caching) เพื่อแคชเนื้อหาของคุณในเครือข่ายทั่วโลก ซึ่งจะช่วยปรับปรุง Time To First Byte"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | unminified-css": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) และเปิดใช้งาน `Minify CSS` เพื่อลดขนาด CSS โดยอัตโนมัติ ซึ่งจะทำให้ขนาดเพย์โหลดของเครือข่ายเล็กลง"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | unminified-javascript": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) และเปิดใช้งาน `Minify Javascript` เพื่อลดขนาด JS โดยอัตโนมัติ ซึ่งจะทำให้ขนาดเพย์โหลดของเครือข่ายเล็กลง"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | unused-css-rules": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) และเปิดใช้งาน `Remove Unused CSS` เพื่อช่วยในการแก้ไขปัญหานี้ โดยการตั้งค่านี้จะระบุคลาสของ CSS ที่มีการใช้งานจริงในแต่ละหน้าของเว็บไซต์ และจะนำคลาสอื่นๆ ออกเพื่อควบคุมให้ไฟล์มีขนาดเล็ก"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-long-cache-ttl": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) และเปิดใช้งาน `Efficient Static Cache Policy` เพื่อตั้งค่าที่แนะนำในส่วนหัวของการแคชสำหรับเนื้อหาแบบคงที่"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-optimized-images": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) และเปิดใช้ `Next-Gen Formats` เพื่อแปลงรูปภาพเป็นรูปแบบ WebP"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-rel-preconnect": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) และเปิดใช้งาน `Pre-Connect Origins` เพื่อเพิ่มคำแนะนำด้านทรัพยากรสำหรับ `preconnect` โดยอัตโนมัติ ซึ่งจะสร้างการเชื่อมต่อกับต้นทางที่สำคัญของบุคคลที่สามไว้ก่อน"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-rel-preload": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) และเปิดใช้งาน `Preload Fonts` กับ `Preload Background Images` เพื่อเพิ่มลิงก์ `preload` ซึ่งจะช่วยจัดลำดับความสำคัญของการดึงทรัพยากรที่มีการขอภายหลังในการโหลดหน้าเว็บ"
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-responsive-images": {
    "message": "ใช้ [Ezoic Leap](https://pubdash.ezoic.com/leap) และเปิดใช้งาน `Resize Images` เพื่อปรับขนาดรูปภาพให้เหมาะสมกับอุปกรณ์ ซึ่งจะทำให้ขนาดเพย์โหลดของเครือข่ายเล็กลง"
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | modern-image-formats": {
    "message": "ใช้คอมโพเนนต์ `gatsby-plugin-image` แทน `<img>` เพื่อเพิ่มประสิทธิภาพรูปแบบรูปภาพโดยอัตโนมัติ [ดูข้อมูลเพิ่มเติม](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)"
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | offscreen-images": {
    "message": "ใช้คอมโพเนนต์ `gatsby-plugin-image` แทน `<img>` เพื่อโหลดรูปภาพแบบ Lazy Loading โดยอัตโนมัติ [ดูข้อมูลเพิ่มเติม](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)"
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | prioritize-lcp-image": {
    "message": "ใช้คอมโพเนนต์ `gatsby-plugin-image` และตั้งค่าพร็อพเพอร์ตี้ `loading` เป็น `eager` [ดูข้อมูลเพิ่มเติม](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-plugin-image#shared-props)"
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | render-blocking-resources": {
    "message": "ใช้ `Gatsby Script API` เพื่อเลื่อนการโหลดสคริปต์บุคคลที่สามที่ไม่สำคัญ [ดูข้อมูลเพิ่มเติม](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-script/)"
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | unused-css-rules": {
    "message": "ใช้ปลั๊กอิน `PurgeCSS` `Gatsby` เพื่อนำกฎที่ไม่ได้ใช้ออกจากสไตล์ชีต [ดูข้อมูลเพิ่มเติม](https://purgecss.com/plugins/gatsby.html)"
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | unused-javascript": {
    "message": "ใช้ `Webpack Bundle Analyzer` เพื่อตรวจหาโค้ด JavaScript ที่ไม่ได้ใช้ [ดูข้อมูลเพิ่มเติม](https://www.gatsbyjs.com/plugins/gatsby-plugin-webpack-bundle-analyser-v2/)"
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-long-cache-ttl": {
    "message": "กำหนดค่าการแคชสำหรับเนื้อหาที่เปลี่ยนแปลงไม่ได้ [ดูข้อมูลเพิ่มเติม](https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/caching/)"
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-optimized-images": {
    "message": "ใช้คอมโพเนนต์ `gatsby-plugin-image` แทน `<img>` เพื่อปรับคุณภาพของรูป [ดูข้อมูลเพิ่มเติม](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)"
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-responsive-images": {
    "message": "ใช้คอมโพเนนต์ `gatsby-plugin-image` เพื่อกำหนด `sizes` ที่เหมาะสม [ดูข้อมูลเพิ่มเติม](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | efficient-animated-content": {
    "message": "ลองอัปโหลด GIF ไปยังบริการซึ่งจะทำให้ใช้ GIF เพื่อฝังเป็นวิดีโอ HTML5 ได้"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | modern-image-formats": {
    "message": "พิจารณาใช้[ปลั๊กอิน](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=webp)หรือบริการที่จะแปลงรูปภาพที่อัปโหลดเป็นรูปแบบที่เหมาะสมที่สุดโดยอัตโนมัติ"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | offscreen-images": {
    "message": "ติดตั้ง[ปลั๊กอินการโหลดแบบ Lazy Loading ของ Joomla](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=lazy%20loading) ที่จะช่วยให้เลื่อนเวลาโหลดรูปภาพนอกจอภาพได้ หรือเปลี่ยนไปใช้เทมเพลตที่มีฟังก์ชันดังกล่าว เริ่มตั้งแต่ Joomla 4.0 เป็นต้นไป รูปภาพใหม่ทั้งหมดจะได้รับแอตทริบิวต์ `loading` จาก Core [โดยอัตโนมัติ](https://github.com/joomla/joomla-cms/pull/30748)"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | render-blocking-resources": {
    "message": "มีปลั๊กอิน Joomla หลายรายการที่ช่วยคุณ[แทรกเนื้อหาสำคัญในหน้า](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance)หรือ[เลื่อนเวลาโหลดทรัพยากรที่สำคัญน้อยกว่า](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance)ได้ โปรดทราบว่าการเพิ่มประสิทธิภาพที่ได้จากปลั๊กอินเหล่านี้อาจทำให้ฟีเจอร์ของเทมเพลตหรือปลั๊กอินเสียหาย คุณจึงจะต้องทดสอบปลั๊กอินเหล่านี้อย่างละเอียด"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | server-response-time": {
    "message": "ข้อกำหนดของเทมเพลต ส่วนขยาย และเซิร์ฟเวอร์ล้วนส่งผลต่อเวลาในการตอบสนองของเซิร์ฟเวอร์ ลองหาเทมเพลตที่เพิ่มประสิทธิภาพมากขึ้น พยายามเลือกส่วนขยายการเพิ่มประสิทธิภาพด้วยความระมัดระวัง และ/หรืออัปเกรดเซิร์ฟเวอร์"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | total-byte-weight": {
    "message": "ลองแสดงข้อความที่ตัดตอนมาในหมวดหมู่บทความ (เช่น ผ่านลิงก์ \"อ่านเพิ่มเติม\") ลดจำนวนบทความที่แสดงในหน้าหนึ่งๆ แบ่งโพสต์ยาวๆ เป็นหลายหน้า หรือใช้ปลั๊กอินเพื่อโหลดความคิดเห็นแบบ Lazy Loading"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unminified-css": {
    "message": "มี[ส่วนขยาย Joomla](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) หลายรายการที่ช่วยให้เว็บไซต์เร็วขึ้นได้ด้วยการเชื่อมโยง การลดขนาด และการบีบอัดสไตล์ CSS นอกจากนี้ยังมีเทมเพลตที่มีฟังก์ชันการทำงานนี้ด้วย"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unminified-javascript": {
    "message": "มี[ส่วนขยาย Joomla](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) หลายรายการที่ช่วยให้เว็บไซต์เร็วขึ้นได้ด้วยการเชื่อมโยง การลดขนาด และการบีบอัดสคริปต์ นอกจากนี้ยังมีเทมเพลตที่มีฟังก์ชันการทำงานนี้ด้วย"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unused-css-rules": {
    "message": "ลองลดหรือเปลี่ยนจำนวน[ส่วนขยาย Joomla](https://extensions.joomla.org/) ที่โหลด CSS ที่ไม่ได้ใช้ในหน้าเว็บของคุณ หากต้องการระบุส่วนขยายที่เพิ่ม CSS โดยไม่จำเป็น ลองเรียกใช้ [Code Coverage](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) ใน DevTools ของ Chrome คุณระบุธีม/ปลั๊กอินที่รับผิดชอบได้จาก URL ของสไตล์ชีต หาปลั๊กอินที่มีสไตล์ชีตจำนวนมากอยู่ในรายการซึ่งมีสีแดงอยู่จำนวนมากใน Code Coverage ปลั๊กอินควรเป็นเพียงตัวกำหนดลำดับของสไตล์ชีตเท่านั้นหากใช้ปลั๊กอินในหน้าจริงๆ"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unused-javascript": {
    "message": "ลองลดหรือเปลี่ยนจำนวน[ส่วนขยาย Joomla](https://extensions.joomla.org/) ที่โหลด JavaScript ที่ไม่ได้ใช้ในหน้าเว็บของคุณ หากต้องการระบุปลั๊กอินที่เพิ่ม JS โดยไม่จำเป็น ลองเรียกใช้ [Code Coverage](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) ใน DevTools ของ Chrome คุณระบุส่วนขยายที่รับผิดชอบได้จาก URL ของสคริปต์ หาธีม/โมดูลที่มีสคริปต์จำนวนมากอยู่ในรายการซึ่งมีสีแดงอยู่จำนวนมากใน Code Coverage ส่วนขยายควรเป็นเพียงตัวกำหนดลำดับของสคริปต์เท่านั้นหากใช้ส่วนขยายในหน้าจริงๆ"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-long-cache-ttl": {
    "message": "อ่านเกี่ยวกับ[การแคชของเบราว์เซอร์ใน Joomla](https://docs.joomla.org/Cache)"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-optimized-images": {
    "message": "ลองใช้[ปลั๊กอินการเพิ่มประสิทธิภาพรูปภาพ](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance)ที่บีบอัดรูปภาพแต่ยังคงคุณภาพไว้ได้"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-responsive-images": {
    "message": "ลองใช้[ปลั๊กอินรูปภาพที่ปรับเปลี่ยนตามพื้นที่โฆษณา](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=responsive%20images)เพื่อใช้รูปภาพที่ปรับเปลี่ยนตามพื้นที่โฆษณาในเนื้อหาของคุณ"
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-text-compression": {
    "message": "คุณเปิดใช้การบีบอัดข้อความได้โดยเปิดใช้การบีบอัดหน้าของ Gzip ใน Joomla (ระบบ > การกำหนดค่าส่วนกลาง > เซิร์ฟเวอร์)"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | critical-request-chains": {
    "message": "หากไม่ได้รวมกลุ่มเนื้อหา JavaScript ให้ลองใช้ [Baler](https://github.com/magento/baler)"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | disable-bundling": {
    "message": "ปิดใช้[การรวมกลุ่มและการลดขนาดของ JavaScript](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/js-bundling.html) ในตัวของ Magento และลองใช้ [Baler](https://github.com/magento/baler/) แทน"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | font-display": {
    "message": "ระบุ `@font-display` เมื่อ [ กำหนดฟอนต์ที่กำหนดเอง ](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/css-topics/using-fonts.html)"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | modern-image-formats": {
    "message": "ลองค้นหาใน[มาร์เก็ตเพลสของ Magento](https://marketplace.magento.com/catalogsearch/result/?q=webp) เพื่อหาส่วนขยายต่างๆ ของบุคคลที่สามเพื่อใช้ประโยชน์จากรูปแบบรูปภาพที่ใหม่กว่า"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | offscreen-images": {
    "message": "ลองแก้ไขเทมเพลตผลิตภัณฑ์และแคตตาล็อกเพื่อใช้ประโยชน์จากฟีเจอร์[การโหลดแบบ Lazy Loading](https://web.dev/native-lazy-loading) ของแพลตฟอร์มเว็บ"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | server-response-time": {
    "message": "ใช้[การผสานรวม Varnish](https://devdocs.magento.com/guides/v2.3/config-guide/varnish/config-varnish.html) ของ Magento"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | unminified-css": {
    "message": "เปิดใช้ตัวเลือก \"Minify CSS Files\" ในการตั้งค่านักพัฒนาซอฟต์แวร์ของร้านค้า [ดูข้อมูลเพิ่มเติม](https://devdocs.magento.com/guides/v2.3/performance-best-practices/configuration.html?itm_source=devdocs&itm_medium=search_page&itm_campaign=federated_search&itm_term=minify%20css%20files)"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | unminified-javascript": {
    "message": "ใช้ [Terser](https://www.npmjs.com/package/terser) เพื่อลดขนาดเนื้อหาของ JavaScript ทั้งหมดจากการใช้งานเนื้อหาแบบคงที่และปิดใช้ฟีเจอร์การลดขนาดในตัว"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | unused-javascript": {
    "message": "ปิดใช้[การรวมกลุ่ม JavaScript](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/js-bundling.html) ในตัวของ Magento"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | uses-optimized-images": {
    "message": "ลองค้นหาใน[มาร์เก็ตเพลสของ Magento](https://marketplace.magento.com/catalogsearch/result/?q=optimize%20image) เพื่อหาส่วนขยายต่างๆ ของบุคคลที่สามเพื่อเพิ่มประสิทธิภาพให้รูปภาพ"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | uses-rel-preconnect": {
    "message": "เพิ่มการเชื่อมต่อล่วงหน้าหรือคำแนะนำด้านทรัพยากรที่ DNS ดึงมาล่วงหน้าได้โดย[แก้ไขเลย์เอาต์ของธีม](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)"
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | uses-rel-preload": {
    "message": "เพิ่มแท็ก `<link rel=preload>` ได้โดย[แก้ไขเลย์เอาต์ของธีม](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | modern-image-formats": {
    "message": "ใช้คอมโพเนนต์ `next/image` แทน `<img>` เพื่อเพิ่มประสิทธิภาพรูปแบบรูปภาพโดยอัตโนมัติ [ดูข้อมูลเพิ่มเติม](https://nextjs.org/docs/app/getting-started/images)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | offscreen-images": {
    "message": "ใช้คอมโพเนนต์ `next/image` แทน `<img>` เพื่อโหลดรูปภาพแบบ Lazy Loading โดยอัตโนมัติ [ดูข้อมูลเพิ่มเติม](https://nextjs.org/docs/app/getting-started/images)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | prioritize-lcp-image": {
    "message": "ใช้คอมโพเนนต์ `next/image` และตั้ง \"ลำดับความสำคัญ\" เป็น \"จริง\" เพื่อโหลดรูปภาพ LCP ไว้ล่วงหน้า [ดูข้อมูลเพิ่มเติม](https://nextjs.org/docs/api-reference/next/image#priority)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | render-blocking-resources": {
    "message": "ใช้คอมโพเนนต์ `next/script` เพื่อเลื่อนการโหลดสคริปต์บุคคลที่สามที่ไม่สำคัญ [ดูข้อมูลเพิ่มเติม](https://nextjs.org/docs/app/guides/scripts)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | unsized-images": {
    "message": "ใช้คอมโพเนนต์ `next/image` เพื่อตรวจสอบว่ารูปภาพมีขนาดที่เหมาะสมเสมอ [ดูข้อมูลเพิ่มเติม](https://nextjs.org/docs/api-reference/next/image#width)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | unused-css-rules": {
    "message": "พิจารณาตั้งค่า `PurgeCSS` ในการกำหนดค่า `Next.js` เพื่อนำกฎที่ไม่ได้ใช้ออกจากสไตล์ชีต [ดูข้อมูลเพิ่มเติม](https://purgecss.com/guides/next.html)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | unused-javascript": {
    "message": "ใช้ `Webpack Bundle Analyzer` เพื่อตรวจหาโค้ด JavaScript ที่ไม่ได้ใช้ [ดูข้อมูลเพิ่มเติม](https://github.com/vercel/next.js/tree/canary/packages/next-bundle-analyzer)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | user-timings": {
    "message": "พิจารณาใช้ `Next.js Analytics` เพื่อวัดประสิทธิภาพแอปในการใช้งานจริง [ดูข้อมูลเพิ่มเติม](https://nextjs.org/docs/pages/guides/analytics)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-long-cache-ttl": {
    "message": "กำหนดค่าการแคชสำหรับเนื้อหาและหน้า `Server-side Rendered` (SSR) ที่เปลี่ยนแปลงไม่ได้ [ดูข้อมูลเพิ่มเติม](https://nextjs.org/docs/13/pages/building-your-application/deploying/production-checklist#caching)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-optimized-images": {
    "message": "ใช้คอมโพเนนต์ `next/image` แทน `<img>` เพื่อปรับคุณภาพของรูป [ดูข้อมูลเพิ่มเติม](https://nextjs.org/docs/app/getting-started/images)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-responsive-images": {
    "message": "ใช้คอมโพเนนต์ `next/image` เพื่อกำหนด `sizes` ที่เหมาะสม [ดูข้อมูลเพิ่มเติม](https://nextjs.org/docs/api-reference/next/image#sizes)"
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-text-compression": {
    "message": "เปิดใช้การบีบอัดในเซิร์ฟเวอร์ Next.js ของคุณ [ดูข้อมูลเพิ่มเติม](https://nextjs.org/docs/api-reference/next.config.js/compression)"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | dom-size": {
    "message": "โปรดติดต่อผู้จัดการฝ่ายดูแลลูกค้าเพื่อเปิดใช้[`HTML Lazy Load`](https://support.nitropack.io/hc/en-us/articles/17144942904337) การกำหนดค่าจะให้ความสำคัญและเพิ่มประสิทธิภาพการแสดงผลหน้าเว็บ"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | font-display": {
    "message": "ใช้ตัวเลือก[`Override Font Rendering Behavior`](https://support.nitropack.io/hc/en-us/articles/16547358865041)ใน NitroPack เพื่อตั้งค่าที่ต้องการสำหรับกฎการแสดงแบบอักษรของ CSS"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | modern-image-formats": {
    "message": "ใช้[`Image Optimization`](https://support.nitropack.io/hc/en-us/articles/16547237162513)เพื่อแปลงรูปภาพเป็น WebP โดยอัตโนมัติ"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | offscreen-images": {
    "message": "เลื่อนเวลาโหลดรูปภาพนอกจอภาพโดยการเปิดใช้[`Automatic Image Lazy Loading`](https://support.nitropack.io/hc/en-us/articles/12457493524369-NitroPack-Lazy-Loading-Feature-for-Images)"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | render-blocking-resources": {
    "message": "เปิดใช้[`Remove render-blocking resources`](https://support.nitropack.io/hc/en-us/articles/13820893500049-How-to-Deal-with-Render-Blocking-Resources-in-NitroPack)ใน NitroPack สำหรับการโหลดเริ่มต้นที่รวดเร็วขึ้น"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-css": {
    "message": "เปิดใช้[`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources)ในการตั้งค่าการแคชเพื่อลดขนาดไฟล์ CSS, HTML และ JavaScript สำหรับการโหลดที่รวดเร็วขึ้น"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-javascript": {
    "message": "เปิดใช้[`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources)ในการตั้งค่าการแคชเพื่อลดขนาดไฟล์ JS, HTML และ CSS สำหรับการโหลดที่รวดเร็วขึ้น"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | unused-css-rules": {
    "message": "เปิดใช้[`Reduce Unused CSS`](https://support.nitropack.io/hc/en-us/articles/360020418457-Reduce-Unused-CSS)เพื่อนำกฎ CSS ที่ไม่เกี่ยวข้องกับหน้านี้ออก"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | unused-javascript": {
    "message": "กำหนดค่า[`Delayed Scripts`](https://support.nitropack.io/hc/en-us/articles/1500002600942-Delayed-Scripts)ใน NitroPack เพื่อหน่วงเวลาการโหลดสคริปต์จนกว่าจะจำเป็น"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-long-cache-ttl": {
    "message": "ไปที่ฟีเจอร์[`Improve Server Response Time`](https://support.nitropack.io/hc/en-us/articles/1500002321821-Improve-Server-Response-Time)ในเมนู`Caching`และปรับเวลาหมดอายุของแคชหน้าเว็บเพื่อปรับปรุงเวลาที่ใช้ในการโหลดและประสบการณ์ของผู้ใช้"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-optimized-images": {
    "message": "บีบอัด เพิ่มประสิทธิภาพ และแปลงรูปภาพเป็น WebP โดยอัตโนมัติด้วยการเปิดใช้การตั้งค่า[`Image Optimization`](https://support.nitropack.io/hc/en-us/articles/14177271695121-How-to-serve-images-in-next-gen-formats-using-NitroPack)"
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-responsive-images": {
    "message": "เปิดใช้[`Adaptive Image Sizing`](https://support.nitropack.io/hc/en-us/articles/10123833029905-How-to-Enable-Adaptive-Image-Sizing-For-Your-Site)เพื่อเพิ่มประสิทธิภาพให้กับรูปภาพล่วงหน้าและทำให้มีขนาดตรงกับคอนเทนเนอร์ที่แสดงอยู่ในอุปกรณ์ทั้งหมด"
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
    "message": "ใช้คอมโพเนนต์ `nuxt/image` และกำหนด `format=\"webp\"` [ดูข้อมูลเพิ่มเติม](https://image.nuxt.com/usage/nuxt-img#format)"
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | offscreen-images": {
    "message": "ใช้คอมโพเนนต์ `nuxt/image` และกำหนด `loading=\"lazy\"` สำหรับรูปภาพนอกจอภาพ [ดูข้อมูลเพิ่มเติม](https://image.nuxt.com/usage/nuxt-img#loading)"
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | prioritize-lcp-image": {
    "message": "ใช้คอมโพเนนต์ `nuxt/image` และระบุ `preload` สำหรับรูปภาพ LCP [ดูข้อมูลเพิ่มเติม](https://image.nuxt.com/usage/nuxt-img#preload)"
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | unsized-images": {
    "message": "ใช้คอมโพเนนต์ `nuxt/image` และระบุ `width` และ `height` ที่ชัดแจ้ง [ดูข้อมูลเพิ่มเติม](https://image.nuxt.com/usage/nuxt-img#width-height)"
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-optimized-images": {
    "message": "ใช้คอมโพเนนต์ `nuxt/image` และกำหนด `quality` ที่เหมาะสม [ดูข้อมูลเพิ่มเติม](https://image.nuxt.com/usage/nuxt-img#quality)"
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-responsive-images": {
    "message": "ใช้คอมโพเนนต์ `nuxt/image` และกำหนด `sizes` ที่เหมาะสม [ดูข้อมูลเพิ่มเติม](https://image.nuxt.com/usage/nuxt-img#sizes)"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | efficient-animated-content": {
    "message": "[นำวิดีโอมาแทนที่ GIF แบบภาพเคลื่อนไหว](https://web.dev/replace-gifs-with-videos/)เพื่อให้หน้าเว็บโหลดเร็วขึ้น และลองใช้รูปแบบไฟล์สมัยใหม่ เช่น [WebM](https://web.dev/replace-gifs-with-videos/#create-webm-videos) หรือ [AV1](https://developers.google.com/web/updates/2018/09/chrome-70-media-updates#av1-decoder) เพื่อปรับปรุงประสิทธิภาพในการบีบอัดมากกว่า 30% เมื่อเทียบกับ VP9 ซึ่งเป็นตัวแปลงรหัสวิดีโอที่ทันสมัยซึ่งใช้อยู่ในปัจจุบัน"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | modern-image-formats": {
    "message": "ลองใช้[ปลั๊กอิน](https://octobercms.com/plugins?search=image)หรือบริการที่จะแปลงรูปภาพที่อัปโหลดเป็นรูปแบบที่เหมาะสมที่สุดโดยอัตโนมัติ [รูปภาพ WebP ที่ไม่เสียรายละเอียด](https://developers.google.com/speed/webp)มีขนาดเล็กกว่ารูปภาพ PNG 26% และมีขนาดเล็กกว่ารูปภาพ JPEG ที่เทียบกันได้ 25-34% ที่ดัชนีคุณภาพ SSIM ที่เทียบเท่า คุณอาจลองใช้รูปแบบสมัยใหม่สำหรับรูปภาพอีกรูปแบบหนึ่ง นั่นคือ [AVIF](https://jakearchibald.com/2020/avif-has-landed/)"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | offscreen-images": {
    "message": "ลองติดตั้ง[ปลั๊กอินการโหลดรูปภาพแบบ Lazy Loading](https://octobercms.com/plugins?search=lazy) ที่จะช่วยให้เลื่อนเวลาโหลดรูปภาพนอกจอภาพได้ หรือเปลี่ยนไปใช้ธีมที่มีฟังก์ชันดังกล่าว และอาจลองใช้[ปลั๊กอิน AMP](https://octobercms.com/plugins?search=Accelerated+Mobile+Pages) ด้วย"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | render-blocking-resources": {
    "message": "มีปลั๊กอินจำนวนมากที่ช่วยให้ใช้งาน[เนื้อหาสำคัญในหน้า](https://octobercms.com/plugins?search=css)ได้ดีขึ้น ปลั๊กอินเหล่านี้อาจทำให้ปลั๊กอินอื่นๆ ทำงานผิดพลาด คุณจึงควรทดสอบอย่างละเอียดถี่ถ้วน"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | server-response-time": {
    "message": "ข้อกำหนดของธีม ปลั๊กอิน และเซิร์ฟเวอร์ล้วนส่งผลต่อเวลาการตอบสนองของเซิร์ฟเวอร์ ลองหาธีมที่เพิ่มประสิทธิภาพมากขึ้น เลือกปลั๊กอินการเพิ่มประสิทธิภาพอย่างระมัดระวัง และ/หรืออัปเกรดเซิร์ฟเวอร์ October CMS ช่วยให้นักพัฒนาซอฟต์แวร์สามารถใช้ [`Queues`](https://octobercms.com/docs/services/queues) เพื่อเลื่อนการประมวลผลงานที่ใช้เวลานานออกไป เช่น การส่งอีเมล ซึ่งทำให้คำขอเว็บทำงานเร็วขึ้นอย่างมาก"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | total-byte-weight": {
    "message": "ลองแสดงข้อความที่ตัดตอนมาในรายการโพสต์ (เช่น การใช้ปุ่ม `show more`) ลดจำนวนโพสต์ที่แสดงในหน้าเว็บหนึ่งๆ แบ่งโพสต์ยาวๆ เป็นหลายหน้า หรือใช้ปลั๊กอินเพื่อโหลดความคิดเห็นแบบ Lazy Loading"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unminified-css": {
    "message": "มี[ปลั๊กอิน](https://octobercms.com/plugins?search=css)จำนวนมากที่ช่วยให้เว็บไซต์เร็วขึ้นได้ด้วยการเชื่อมโยง การลดขนาด และการบีบอัดสไตล์ การใช้กระบวนการบิลด์เพื่อลดขนาดล่วงหน้าจะช่วยให้การพัฒนาเร็วขึ้นได้"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unminified-javascript": {
    "message": "มี[ปลั๊กอิน](https://octobercms.com/plugins?search=javascript)จำนวนมากที่ช่วยให้เว็บไซต์เร็วขึ้นได้ด้วยการเชื่อมโยง การลดขนาด และการบีบอัดสคริปต์ การใช้กระบวนการบิลด์เพื่อลดขนาดล่วงหน้าจะช่วยให้การพัฒนาเร็วขึ้นได้"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unused-css-rules": {
    "message": "ลองตรวจสอบ[ปลั๊กอิน](https://octobercms.com/plugins)ที่โหลด CSS ที่ไม่ได้ใช้งานในเว็บไซต์ หากต้องการระบุปลั๊กอินที่เพิ่ม CSS โดยที่ไม่จำเป็น ให้เรียกใช้[การครอบคลุมของโค้ด](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage)ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome ระบุธีม/ปลั๊กอินที่ดำเนินการดังกล่าวได้จาก URL ของสไตล์ชีต หาปลั๊กอินที่มีสไตล์ชีตจำนวนมากซึ่งมีสีแดงอยู่หลายแห่งในการครอบคลุมของโค้ด ปลั๊กอินควรจะเพิ่มสไตล์ชีตเฉพาะเมื่อมีการใช้งานจริงๆ ในหน้าเว็บเท่านั้น"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unused-javascript": {
    "message": "ลองตรวจสอบ[ปลั๊กอิน](https://octobercms.com/plugins?search=javascript)ที่โหลด JavaScript ที่ไม่ได้ใช้งานในหน้าเว็บ หากต้องการระบุปลั๊กอินที่เพิ่ม JavaScript โดยที่ไม่จำเป็น ให้เรียกใช้[การครอบคลุมของโค้ด](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage)ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome ระบุธีม/ปลั๊กอินที่ดำเนินการดังกล่าวได้จาก URL ของสคริปต์ หาปลั๊กอินที่มีสคริปต์จำนวนมากซึ่งมีสีแดงอยู่หลายแห่งในการครอบคลุมของโค้ด ปลั๊กอินควรจะเพิ่มสคริปต์เฉพาะเมื่อมีการใช้งานจริงๆ ในหน้าเว็บเท่านั้น"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-long-cache-ttl": {
    "message": "อ่านเกี่ยวกับ[การป้องกันคำขอเครือข่ายที่ไม่จำเป็นด้วยแคช HTTP](https://web.dev/http-cache/#caching-checklist) มี[ปลั๊กอิน](https://octobercms.com/plugins?search=Caching)จำนวนมากที่ช่วยให้การแคชเร็วขึ้นได้"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-optimized-images": {
    "message": "ลองใช้[ปลั๊กอินการเพิ่มประสิทธิภาพรูปภาพ](https://octobercms.com/plugins?search=image)เพื่อบีบอัดรูปภาพโดยยังคงคุณภาพไว้ดังเดิม"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-responsive-images": {
    "message": "อัปโหลดรูปภาพโดยตรงในโปรแกรมจัดการสื่อเพื่อให้แน่ใจว่าจะมีรูปภาพขนาดตามที่กำหนดให้ใช้งาน ลองใช้[ฟิลเตอร์การปรับขนาด](https://octobercms.com/docs/markup/filter-resize)หรือ[ปลั๊กอินการปรับขนาดรูปภาพ](https://octobercms.com/plugins?search=image)เพื่อให้มีการใช้รูปภาพที่มีขนาดเหมาะสมที่สุด"
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-text-compression": {
    "message": "เปิดใช้การบีบอัดข้อความในการกำหนดค่าเว็บเซิร์ฟเวอร์"
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | dom-size": {
    "message": "ลองใช้ไลบรารี \"การสร้างกรอบเวลา\" เช่น `react-window` เพื่อลดจำนวนโหนดของ DOM ที่สร้างขึ้นให้เหลือน้อยที่สุดหากคุณแสดงผลองค์ประกอบซ้ำกันหลายรายการในหน้านั้น [ดูข้อมูลเพิ่มเติม](https://web.dev/virtualize-long-lists-react-window/) นอกจากนี้ให้ลดการแสดงผลซ้ำที่ไม่จำเป็นให้เหลือน้อยที่สุดโดยใช้ [`shouldComponentUpdate`](https://reactjs.org/docs/optimizing-performance.html#shouldcomponentupdate-in-action), [`PureComponent`](https://reactjs.org/docs/react-api.html#reactpurecomponent) หรือ [`React.memo`](https://reactjs.org/docs/react-api.html#reactmemo) และ[ข้ามเอฟเฟกต์](https://reactjs.org/docs/hooks-effect.html#tip-optimizing-performance-by-skipping-effects)ไปจนกว่าทรัพยากร Dependency บางรายการจะมีการเปลี่ยนแปลงในกรณีที่คุณใช้ฮุก `Effect` เพื่อปรับปรุงประสิทธิภาพของรันไทม์"
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | redirects": {
    "message": "หากคุณกำลังใช้ React Router ให้ลดการใช้ของคอมโพเนนต์ `<Redirect>` ในการ[ไปยังเส้นทางต่างๆ](https://reacttraining.com/react-router/web/api/Redirect)"
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | server-response-time": {
    "message": "หากคุณกำลังแสดงคอมโพเนนต์ของ React ใดๆ บนฝั่งเซิร์ฟเวอร์ ให้ลองใช้ `renderToPipeableStream()` หรือ `renderToStaticNodeStream()` เพื่อให้ลูกค้าได้รับและรวมส่วนต่างๆ ของมาร์กอัปแทนที่จะรวมทั้งหมดในคราวเดียว [ดูข้อมูลเพิ่มเติม](https://reactjs.org/docs/react-dom-server.html#renderToPipeableStream)"
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | unminified-css": {
    "message": "หากระบบในรุ่นของคุณลดขนาดไฟล์ CSS โดยอัตโนมัติ โปรดตรวจสอบว่าคุณทำให้รุ่นที่ใช้งานจริงของแอปพลิเคชันใช้งานได้ โดยใช้ส่วนขยาย React Developer Tools [ดูข้อมูลเพิ่มเติม](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)"
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | unminified-javascript": {
    "message": "หากระบบในรุ่นของคุณลดขนาดไฟล์ JS โดยอัตโนมัติ โปรดตรวจสอบว่าคุณทำให้รุ่นที่ใช้งานจริงของแอปพลิเคชันใช้งานได้ โดยใช้ส่วนขยาย React Developer Tools [ดูข้อมูลเพิ่มเติม](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)"
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | unused-javascript": {
    "message": "หากคุณไม่ได้กำลังแสดงผลฝั่งเซิร์ฟเวอร์ ให้[แยกกลุ่ม JavaScript](https://web.dev/code-splitting-suspense/) ด้วย `React.lazy()` หรือแยกโค้ดโดยใช้ไลบรารีของบุคคลที่สาม เช่น [คอมโพเนนต์ที่โหลดได้](https://loadable-components.com/)"
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | user-timings": {
    "message": "ใช้ React DevTools Profiler ซึ่งใช้ประโยชน์จาก Profiler API ในการวัดประสิทธิภาพในการแสดงผลของคอมโพเนนต์ [ดูข้อมูลเพิ่มเติม](https://reactjs.org/blog/2018/09/10/introducing-the-react-profiler.html)"
  },
  "node_modules/lighthouse-stack-packs/packs/wix.js | efficient-animated-content": {
    "message": "วางวิดีโอไว้ใน `VideoBoxes` ปรับแต่งโดยใช้ `Video Masks` หรือเพิ่ม `Transparent Videos` [ดูข้อมูลเพิ่มเติม](https://support.wix.com/en/article/wix-video-about-wix-video)"
  },
  "node_modules/lighthouse-stack-packs/packs/wix.js | modern-image-formats": {
    "message": "อัปโหลดรูปภาพโดยใช้ `Wix Media Manager` เพื่อให้แสดงเป็นรูปแบบ WebP โดยอัตโนมัติ ดู[วิธีอื่นๆ ในการเพิ่มประสิทธิภาพ](https://support.wix.com/en/article/site-performance-optimizing-your-media)สื่อในเว็บไซต์ของคุณ"
  },
  "node_modules/lighthouse-stack-packs/packs/wix.js | render-blocking-resources": {
    "message": "เมื่อ[เพิ่มโค้ดของบุคคลที่สาม](https://support.wix.com/en/article/site-performance-using-third-party-code-on-your-site)ในแท็บ `Custom Code` ของแดชบอร์ดเว็บไซต์ ให้ใช้การหน่วงเวลาหรือโหลดโค้ดที่ส่วนท้ายของเนื้อหาโค้ด ใช้[การผสานรวม](https://support.wix.com/en/article/about-marketing-integrations)ของ Wix เพื่อฝังเครื่องมือการตลาดในเว็บไซต์ หากทำได้ "
  },
  "node_modules/lighthouse-stack-packs/packs/wix.js | server-response-time": {
    "message": "Wix ใช้ CDN และการแคชเพื่อแสดงคำตอบโดยเร็วที่สุดสำหรับผู้เข้าชมส่วนใหญ่ พิจารณา[เปิดใช้การแคชด้วยตนเอง](https://support.wix.com/en/article/site-performance-caching-pages-to-optimize-loading-speed)สำหรับเว็บไซต์ของคุณ โดยเฉพาะในกรณีที่ใช้ `Velo`"
  },
  "node_modules/lighthouse-stack-packs/packs/wix.js | unused-javascript": {
    "message": "ตรวจสอบโค้ดของบุคคลที่สามที่คุณเพิ่มลงในเว็บไซต์ได้ในแท็บ `Custom Code` ของแดชบอร์ดเว็บไซต์ และเก็บเฉพาะบริการที่จำเป็นสำหรับเว็บไซต์เท่านั้น [ดูข้อมูลเพิ่มเติม](https://support.wix.com/en/article/site-performance-removing-unused-javascript)"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | efficient-animated-content": {
    "message": "ลองอัปโหลด GIF ไปยังบริการซึ่งจะทำให้ใช้ GIF เพื่อฝังเป็นวิดีโอ HTML5 ได้"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | modern-image-formats": {
    "message": "พิจารณาใช้ปลั๊กอิน [Performance Lab](https://wordpress.org/plugins/performance-lab/) เพื่อแปลงรูปภาพ JPEG ที่อัปโหลดเป็น WebP โดยอัตโนมัติในทุกที่ที่รองรับ"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | offscreen-images": {
    "message": "ติดตั้ง[ปลั๊กอินการโหลดแบบ Lazy Loading ของ WordPress](https://wordpress.org/plugins/search/lazy+load/) ที่จะช่วยเลื่อนเวลาโหลดรูปภาพนอกหน้าจอ หรือเปลี่ยนไปใช้ธีมที่มีฟังก์ชันดังกล่าว และอาจลองพิจารณาใช้[ปลั๊กอิน AMP](https://wordpress.org/plugins/amp/)"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | render-blocking-resources": {
    "message": "มีปลั๊กอิน WordPress หลายรายการที่ช่วยคุณ[แทรกเนื้อหาที่สำคัญ](https://wordpress.org/plugins/search/critical+css/) หรือ[เลื่อนเวลาโหลดทรัพยากรที่สำคัญน้อยกว่า](https://wordpress.org/plugins/search/defer+css+javascript/) โปรดระวังว่าการเพิ่มประสิทธิภาพโดยปลั๊กอินเหล่านี้อาจทำให้ฟีเจอร์ของธีมหรือปลั๊กอินของคุณเสียหาย ซึ่งน่าจะทำให้คุณต้องแก้ไขโค้ด"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | server-response-time": {
    "message": "เลือกธีมที่ใช้ทรัพยากรน้อย (โดยปกติแล้วควรเป็นธีมแบบบล็อก) และใช้การแคชหน้าเว็บทั้งหมดหรือโซลูชันเว็บไซต์แบบคงที่ ปิดใช้ปลั๊กอินที่ไม่จำเป็นเพื่อโอเวอร์เฮดของเซิร์ฟเวอร์ ลองอัปเกรดโฮสติ้งเป็นบริการที่มีการจัดการหรือบริการเฉพาะ"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | total-byte-weight": {
    "message": "ลองแสดงข้อความที่ตัดตอนมาในรายการโพสต์ (เช่น ผ่านแท็ก \"เพิ่มเติม\") ลดจำนวนโพสต์ที่แสดงในหน้าหนึ่งๆ แบ่งโพสต์ยาวๆ เป็นหลายหน้า หรือใช้ปลั๊กอินเพื่อโหลดความคิดเห็นแบบ Lazy Loading"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unminified-css": {
    "message": "มี[ปลั๊กอิน WordPress](https://wordpress.org/plugins/search/minify+css/) หลายอย่างที่ช่วยให้เว็บไซต์เร็วขึ้นได้ด้วยการลิงก์ ลดขนาด และบีบอัดสไตล์ นอกจากนี้คุณอาจใช้กระบวนการของเวอร์ชันเพื่อลดขนาดล่วงหน้าหากเป็นไปได้"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unminified-javascript": {
    "message": "มี[ปลั๊กอิน WordPress](https://wordpress.org/plugins/search/minify+javascript/) หลายอย่างที่ช่วยให้เว็บไซต์เร็วขึ้นได้ด้วยการลิงก์ ลดขนาด และบีบอัดสคริปต์ นอกจากนี้คุณอาจใช้กระบวนการของเวอร์ชันเพื่อลดขนาดล่วงหน้าหากเป็นไปได้"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unused-css-rules": {
    "message": "ลองลดหรือเปลี่ยนจำนวน[ปลั๊กอิน WordPress](https://wordpress.org/plugins/) ที่โหลด CSS ที่ไม่ได้ใช้ในหน้าเว็บของคุณ หากต้องการระบุปลั๊กอินที่เพิ่ม CSS โดยไม่จำเป็น ให้ลองเรียกใช้[การครอบคลุมโค้ด](https://developer.chrome.com/docs/devtools/coverage/)ใน DevTools ของ Chrome คุณระบุธีม/ปลั๊กอินที่รับผิดชอบได้จาก URL ของสไตล์ชีต หาปลั๊กอินที่มีสไตล์ชีตจำนวนมากอยู่ในรายการซึ่งมีสีแดงอยู่จำนวนมากในการครอบคลุมโค้ด ปลั๊กอินควรเป็นเพียงตัวกำหนดลำดับของสไตล์ชีตเท่านั้นหากใช้ปลั๊กอินในหน้าจริงๆ"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unused-javascript": {
    "message": "ลองลดหรือเปลี่ยนจำนวน[ปลั๊กอิน WordPress](https://wordpress.org/plugins/) ที่โหลด JavaScript ที่ไม่ได้ใช้ในหน้าเว็บของคุณ หากต้องการระบุปลั๊กอินที่เพิ่ม JS โดยไม่จำเป็น ให้ลองเรียกใช้ [การครอบคลุมโค้ด](https://developer.chrome.com/docs/devtools/coverage/)ใน DevTools ของ Chrome คุณระบุธีม/ปลั๊กอินที่รับผิดชอบได้จาก URL ของสคริปต์ หาปลั๊กอินที่มีสคริปต์จำนวนมากอยู่ในรายการซึ่งมีสีแดงอยู่จำนวนมากในการครอบคลุมโค้ด ปลั๊กอินควรเป็นเพียงตัวกำหนดลำดับของสคริปต์เท่านั้นหากใช้ปลั๊กอินในหน้าจริงๆ"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-long-cache-ttl": {
    "message": "อ่านเกี่ยวกับ[การแคชของเบราว์เซอร์ใน WordPress](https://wordpress.org/support/article/optimization/#browser-caching)"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-optimized-images": {
    "message": "พิจารณาใช้[ปลั๊กอิน WordPress การเพิ่มประสิทธิภาพรูปภาพ](https://wordpress.org/plugins/search/optimize+images/)ที่บีบอัดรูปภาพแต่ยังคงคุณภาพไว้ได้"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-responsive-images": {
    "message": "อัปโหลดรูปภาพโดยตรงผ่าน[ไลบรารีสื่อ](https://wordpress.org/support/article/media-library-screen/)เพื่อให้แน่ใจว่ามีขนาดรูปภาพที่จำเป็นพร้อมใช้งาน จากนั้นแทรกรูปภาพจากไลบรารีสื่อหรือใช้วิดเจ็ตรูปภาพเพื่อให้มีการใช้ขนาดรูปภาพที่มีประสิทธิภาพสูงสุด (รวมถึงขนาดสำหรับเบรกพอยท์ที่ปรับเปลี่ยนตามพื้นที่โฆษณา) หลีกเลี่ยงการใช้รูปภาพ`Full Size` นอกเสียจากว่าขนาดจะเพียงพอต่อการใช้งาน [ดูข้อมูลเพิ่มเติม](https://wordpress.org/support/article/inserting-images-into-posts-and-pages/)"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-text-compression": {
    "message": "คุณเปิดใช้การบีบอัดข้อความในการกำหนดค่าเว็บเซิร์ฟเวอร์ได้"
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | modern-image-formats": {
    "message": "เปิดใช้ \"Imagify\" จากแท็บการเพิ่มประสิทธิภาพรูปภาพใน \"WP Rocket\" เพื่อแปลงรูปภาพเป็นรูปแบบ WebP"
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | offscreen-images": {
    "message": "เปิดใช้ [LazyLoad](https://docs.wp-rocket.me/article/1141-lazyload-for-images) ใน WP Rocket เพื่อแก้ไขคำแนะนำนี้ ฟีเจอร์นี้จะทำให้การโหลดรูปภาพล่าช้าจนกว่าผู้เข้าชมจะเลื่อนหน้าเว็บลงและต้องการเห็นรูปภาพจริงๆ"
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | render-blocking-resources": {
    "message": "เปิดใช้[นำ CSS ที่ไม่ได้ใช้ออก](https://docs.wp-rocket.me/article/1529-remove-unused-css) และ[โหลด JavaScript ที่มีการเลื่อนออกไป](https://docs.wp-rocket.me/article/1265-load-javascript-deferred)ใน \"WP Rocket\" เพื่อจัดการกับคำแนะนำนี้ ฟีเจอร์เหล่านี้จะเพิ่มประสิทธิภาพไฟล์ CSS และ JavaScript ตามลำดับเพื่อให้ไม่บล็อกการแสดงผลหน้าเว็บของคุณ"
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unminified-css": {
    "message": "เปิดใช้[ไฟล์ Minify CSS](https://docs.wp-rocket.me/article/1350-css-minify-combine) ใน \"WP Rocket\" เพื่อแก้ไขปัญหานี้ ระบบจะนำพื้นที่ว่างและความคิดเห็นในไฟล์ CSS ของเว็บไซต์ออกเพื่อให้ไฟล์มีขนาดเล็กลงและดาวน์โหลดได้เร็วขึ้น"
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unminified-javascript": {
    "message": "เปิดใช้[ไฟล์ Minify JavaScript](https://docs.wp-rocket.me/article/1351-javascript-minify-combine) ใน \"WP Rocket\" เพื่อแก้ไขปัญหานี้ ระบบจะนำพื้นที่ว่างและความคิดเห็นออกจากไฟล์ JavaScript เพื่อให้ไฟล์มีขนาดเล็กลงและดาวน์โหลดได้เร็วขึ้น"
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unused-css-rules": {
    "message": "เปิดใช้[นำ CSS ที่ไม่ได้ใช้ออก](https://docs.wp-rocket.me/article/1529-remove-unused-css)ใน \"WP Rocket\" เพื่อแก้ไขปัญหานี้ วิธีนี้จะลดขนาดหน้าเว็บโดยการนำ CSS และสไตล์ชีตทั้งหมดที่ไม่ได้ใช้ออก ขณะเดียวกันก็เก็บเฉพาะ CSS ที่ใช้ในแต่ละหน้าไว้"
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unused-javascript": {
    "message": "เปิดใช้[การดำเนินการ Delay JavaScript](https://docs.wp-rocket.me/article/1349-delay-javascript-execution) ใน \"WP Rocket\" เพื่อแก้ไขปัญหานี้ การดำเนินการนี้จะช่วยปรับปรุงการโหลดหน้าเว็บโดยชะลอการดำเนินการของสคริปต์จนกว่าผู้ใช้จะโต้ตอบ หากเว็บไซต์มี iframe คุณจะใช้ [LazyLoad สำหรับ iframe และวิดีโอ](https://docs.wp-rocket.me/article/1674-lazyload-for-iframes-and-videos)ของ WP Rocket และ[แทนที่ YouTube iframe ด้วยรูปภาพตัวอย่าง](https://docs.wp-rocket.me/article/1488-replace-youtube-iframe-with-preview-image)ได้เช่นกัน"
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-optimized-images": {
    "message": "เปิดใช้ \"Imagify\" จากแท็บการเพิ่มประสิทธิภาพรูปภาพใน \"WP Rocket\" และเรียกใช้การเพิ่มประสิทธิภาพแบบกลุ่มเพื่อบีบอัดรูปภาพ"
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-rel-preconnect": {
    "message": "ใช้[คำขอการดึงข้อมูล DNS ล่วงหน้า](https://docs.wp-rocket.me/article/1302-prefetch-dns-requests)ใน \"WP Rocket\" เพื่อเพิ่ม \"dns-prefetch\" และเร่งการเชื่อมต่อกับโดเมนภายนอก นอกจากนี้ \"WP Rocket\" ยังเพิ่ม \"preconnect\" ไปยัง[โดเมน Google Fonts](https://docs.wp-rocket.me/article/1312-optimize-google-fonts) และ CNAME ที่เพิ่มผ่านฟีเจอร์[เปิดใช้ CDN](https://docs.wp-rocket.me/article/42-using-wp-rocket-with-a-cdn) โดยอัตโนมัติด้วย"
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-rel-preload": {
    "message": "หากต้องการแก้ไขปัญหานี้สำหรับแบบอักษร ให้เปิดใช้[นำ CSS ที่ไม่ได้ใช้ออก](https://docs.wp-rocket.me/article/1529-remove-unused-css)ใน \"WP Rocket\" ระบบจะโหลดแบบอักษรสำคัญของเว็บไซต์ไว้ล่วงหน้าโดยคำนึงถึงลำดับความสำคัญ"
  },
  "report/renderer/report-utils.js | calculatorLink": {
    "message": "ดูเครื่องคิดเลข"
  },
  "report/renderer/report-utils.js | collapseView": {
    "message": "ยุบมุมมอง"
  },
  "report/renderer/report-utils.js | crcInitialNavigation": {
    "message": "การนำทางเริ่มต้น"
  },
  "report/renderer/report-utils.js | crcLongestDurationLabel": {
    "message": "เวลาในการตอบสนองของเส้นทางสำคัญที่ยาวที่สุด"
  },
  "report/renderer/report-utils.js | dropdownCopyJSON": {
    "message": "คัดลอก JSON"
  },
  "report/renderer/report-utils.js | dropdownDarkTheme": {
    "message": "เปิด/ปิดธีมมืด"
  },
  "report/renderer/report-utils.js | dropdownPrintExpanded": {
    "message": "ขยายข้อมูลการพิมพ์"
  },
  "report/renderer/report-utils.js | dropdownPrintSummary": {
    "message": "สรุปการพิมพ์"
  },
  "report/renderer/report-utils.js | dropdownSaveGist": {
    "message": "บันทึกเป็น Gist"
  },
  "report/renderer/report-utils.js | dropdownSaveHTML": {
    "message": "บันทึกเป็น HTML"
  },
  "report/renderer/report-utils.js | dropdownSaveJSON": {
    "message": "บันทึกเป็น JSON"
  },
  "report/renderer/report-utils.js | dropdownViewUnthrottledTrace": {
    "message": "ดูการติดตามที่ไม่มีการควบคุม"
  },
  "report/renderer/report-utils.js | dropdownViewer": {
    "message": "เปิดในโปรแกรมดู"
  },
  "report/renderer/report-utils.js | errorLabel": {
    "message": "ข้อผิดพลาด!"
  },
  "report/renderer/report-utils.js | errorMissingAuditInfo": {
    "message": "ข้อผิดพลาดในรายงาน: ไม่มีข้อมูลการตรวจสอบ"
  },
  "report/renderer/report-utils.js | expandView": {
    "message": "ขยายมุมมอง"
  },
  "report/renderer/report-utils.js | firstPartyChipLabel": {
    "message": "บุคคลที่หนึ่ง"
  },
  "report/renderer/report-utils.js | footerIssue": {
    "message": "รายงานปัญหา"
  },
  "report/renderer/report-utils.js | hide": {
    "message": "ซ่อน"
  },
  "report/renderer/report-utils.js | labDataTitle": {
    "message": "ข้อมูลในห้องทดลอง"
  },
  "report/renderer/report-utils.js | lsPerformanceCategoryDescription": {
    "message": "การวิเคราะห์หน้าปัจจุบันในเครือข่ายมือถือจำลองโดย [Lighthouse](https://developers.google.com/web/tools/lighthouse/) ค่ามาจากการประมาณและอาจแตกต่างกันไป"
  },
  "report/renderer/report-utils.js | manualAuditsGroupTitle": {
    "message": "รายการเพิ่มเติมที่ควรตรวจสอบด้วยตนเอง"
  },
  "report/renderer/report-utils.js | notApplicableAuditsGroupTitle": {
    "message": "ไม่เกี่ยวข้อง"
  },
  "report/renderer/report-utils.js | openInANewTabTooltip": {
    "message": "เปิดในแท็บใหม่"
  },
  "report/renderer/report-utils.js | opportunityResourceColumnLabel": {
    "message": "โอกาส"
  },
  "report/renderer/report-utils.js | opportunitySavingsColumnLabel": {
    "message": "เวลาที่ประหยัดได้โดยประมาณ"
  },
  "report/renderer/report-utils.js | passedAuditsGroupTitle": {
    "message": "การตรวจสอบที่ผ่านแล้ว"
  },
  "report/renderer/report-utils.js | runtimeAnalysisWindow": {
    "message": "การโหลดหน้าเว็บเริ่มต้น"
  },
  "report/renderer/report-utils.js | runtimeAnalysisWindowSnapshot": {
    "message": "ภาพรวมของช่วงเวลา"
  },
  "report/renderer/report-utils.js | runtimeAnalysisWindowTimespan": {
    "message": "ช่วงเวลาการโต้ตอบของผู้ใช้"
  },
  "report/renderer/report-utils.js | runtimeCustom": {
    "message": "การควบคุมที่กำหนดเอง"
  },
  "report/renderer/report-utils.js | runtimeDesktopEmulation": {
    "message": "เดสก์ท็อปจำลอง"
  },
  "report/renderer/report-utils.js | runtimeMobileEmulation": {
    "message": "Moto G Power จําลอง"
  },
  "report/renderer/report-utils.js | runtimeNoEmulation": {
    "message": "ไม่มีการจำลอง"
  },
  "report/renderer/report-utils.js | runtimeSettingsAxeVersion": {
    "message": "เวอร์ชัน Axe"
  },
  "report/renderer/report-utils.js | runtimeSettingsBenchmark": {
    "message": "ความแรงของ CPU/หน่วยความจำที่ไม่มีการควบคุม"
  },
  "report/renderer/report-utils.js | runtimeSettingsCPUThrottling": {
    "message": "การควบคุม CPU"
  },
  "report/renderer/report-utils.js | runtimeSettingsDevice": {
    "message": "อุปกรณ์"
  },
  "report/renderer/report-utils.js | runtimeSettingsNetworkThrottling": {
    "message": "การควบคุมเครือข่าย"
  },
  "report/renderer/report-utils.js | runtimeSettingsScreenEmulation": {
    "message": "การจำลองหน้าจอ"
  },
  "report/renderer/report-utils.js | runtimeSettingsUANetwork": {
    "message": "User Agent (เครือข่าย)"
  },
  "report/renderer/report-utils.js | runtimeSingleLoad": {
    "message": "เซสชันหน้าเว็บเดียว"
  },
  "report/renderer/report-utils.js | runtimeSingleLoadTooltip": {
    "message": "ข้อมูลนี้มาจากเซสชันหน้าเว็บเดียว ซึ่งตรงกันข้ามกับข้อมูลภาคสนามที่สรุปหลายเซสชัน"
  },
  "report/renderer/report-utils.js | runtimeSlow4g": {
    "message": "การควบคุม 4G แบบช้า"
  },
  "report/renderer/report-utils.js | runtimeUnknown": {
    "message": "ไม่ทราบ"
  },
  "report/renderer/report-utils.js | show": {
    "message": "แสดง"
  },
  "report/renderer/report-utils.js | showRelevantAudits": {
    "message": "แสดงการตรวจสอบที่เกี่ยวข้องกับรายการต่อไปนี้"
  },
  "report/renderer/report-utils.js | snippetCollapseButtonLabel": {
    "message": "ยุบตัวอย่างข้อมูล"
  },
  "report/renderer/report-utils.js | snippetExpandButtonLabel": {
    "message": "ขยายตัวอย่างข้อมูล"
  },
  "report/renderer/report-utils.js | thirdPartyResourcesLabel": {
    "message": "แสดงทรัพยากรของบุคคลที่สาม"
  },
  "report/renderer/report-utils.js | throttlingProvided": {
    "message": "ให้บริการโดยสภาพแวดล้อม"
  },
  "report/renderer/report-utils.js | toplevelWarningsMessage": {
    "message": "เกิดปัญหาที่มีผลต่อการทำงานนี้ของ Lighthouse"
  },
  "report/renderer/report-utils.js | unattributable": {
    "message": "ระบุแหล่งที่มาไม่ได้"
  },
  "report/renderer/report-utils.js | unscoredLabel": {
    "message": "ไม่มีคะแนน"
  },
  "report/renderer/report-utils.js | unscoredTitle": {
    "message": "การตรวจสอบนี้ไม่มีส่วนช่วยในการให้คะแนนหมวดหมู่โดยรวม"
  },
  "report/renderer/report-utils.js | varianceDisclaimer": {
    "message": "ค่ามาจากการประมาณและอาจแตกต่างกันไป [คะแนนประสิทธิภาพคำนวณ](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/)จากเมตริกเหล่านี้โดยตรง"
  },
  "report/renderer/report-utils.js | viewTraceLabel": {
    "message": "ดูการติดตาม"
  },
  "report/renderer/report-utils.js | viewTreemapLabel": {
    "message": "ดูแผนภูมิทรีแม็ป"
  },
  "report/renderer/report-utils.js | warningAuditsGroupTitle": {
    "message": "ผ่านการตรวจสอบแต่มีคำเตือน"
  },
  "report/renderer/report-utils.js | warningHeader": {
    "message": "คำเตือน "
  },
  "treemap/app/src/util.js | allLabel": {
    "message": "ทั้งหมด"
  },
  "treemap/app/src/util.js | allScriptsDropdownLabel": {
    "message": "สคริปต์ทั้งหมด"
  },
  "treemap/app/src/util.js | coverageColumnName": {
    "message": "การครอบคลุม"
  },
  "treemap/app/src/util.js | duplicateModulesLabel": {
    "message": "โมดูลที่ซ้ำกัน"
  },
  "treemap/app/src/util.js | duplicatedBytesLabel": {
    "message": "ไบต์ที่ซ้ำกัน"
  },
  "treemap/app/src/util.js | resourceBytesLabel": {
    "message": "ขนาดไฟล์ทรัพยากร (ไบต์)"
  },
  "treemap/app/src/util.js | tableColumnName": {
    "message": "ชื่อ"
  },
  "treemap/app/src/util.js | toggleTableButtonLabel": {
    "message": "ซ่อน/แสดงตาราง"
  },
  "treemap/app/src/util.js | transferBytesLabel": {
    "message": "ไบต์ของการโอน"
  },
  "treemap/app/src/util.js | unusedBytesLabel": {
    "message": "ไบต์ที่ไม่ได้ใช้"
  }
}
