ข้ามไปยังเนื้อหา
Dee Wan 1.0 ยังอยู่ระหว่างพัฒนาและยังไม่เปิดตัว (pre-MVP) — ดู ขอบเขตผลิตภัณฑ์ 1.0

ภาษา

แต่ละเว็บไซต์มีภาษาของตัวเอง ภาษาเริ่มต้นหนึ่งภาษา และกฎว่าผู้เข้าชมจะได้อะไรเมื่อไม่มีคำแปล ตั้งค่าทั้งหมดได้ที่ การตั้งค่า → ภาษา การเปลี่ยนต้องมีสิทธิ์ตั้งค่าเว็บไซต์ (site:settings)

สัญญาสาธารณะฉบับเต็มอยู่ใน ภาษาใน API สาธารณะ กฎของฟิลด์และที่อยู่อยู่ใน โมเดล ภาษา และหน้า และ ที่อยู่ของรายการ

  1. เปิด การตั้งค่า → ภาษา
  2. เปิด เลือกภาษา แล้วค้นหาภาษา แสดงภาษาถิ่นของ {name} แสดงภาษาย่อยตามภูมิภาค
  3. กด เพิ่มภาษา

ตัวเลือกภาษาก่อนเพิ่มภาษาให้ไซต์

แต่ละภาษาเพิ่มให้เว็บไซต์ได้ครั้งเดียว ถ้าเว็บไซต์ยังไม่มีภาษาเริ่มต้น ตั้งเป็นค่าเริ่มต้น จะตั้งภาษาใหม่เป็นภาษาเริ่มต้น

การเพิ่มภาษาไม่เปลี่ยนเนื้อหา รายการจะมีภาษาใหม่ก็ต่อเมื่อมีคนเริ่มคำแปล ดู คำแปล

ภาษาเริ่มต้นมีป้าย ค่าเริ่มต้น กด ตั้งเป็นค่าเริ่มต้น ที่ภาษาอื่นเพื่อเปลี่ยน

  • การอ่านที่ไม่ระบุ locale จะขอภาษาเริ่มต้น โดยยังใช้กฎเมื่อไม่มีคำแปล
  • ในโหมด fallback ระบบลองภาษาเริ่มต้นก่อนภาษาหลักของรายการ เว้นแต่ลำดับของภาษาที่ขอจะลงท้ายด้วย หยุด ซึ่งจะไม่เพิ่มสองภาษานี้
  • รายการใหม่เริ่มต้นด้วยภาษาเริ่มต้น
  • การเปลี่ยนภาษาเริ่มต้นจะล้างแคชของการอ่านสาธารณะของเว็บไซต์ ถ้าล้างไม่สำเร็จ หน้าจอจะแจ้ง และผู้อ่านอาจได้ภาษาเริ่มต้นเดิมอยู่ระยะหนึ่ง
  • ภาษาเริ่มต้นนำออกไม่ได้

เลือกสิ่งที่ผู้เข้าชมได้รับเมื่อไม่มีคำแปล

หัวข้อที่มีชื่อว่า “เลือกสิ่งที่ผู้เข้าชมได้รับเมื่อไม่มีคำแปล”

ในส่วน คำแปลที่ขาด ตั้งค่า เมื่อไม่มีภาษานี้:

ตัวเลือก กฎ ผู้เข้าชมที่ขอภาษาที่ไม่มีจะได้รับ
แสดงหน้าภาษาเริ่มต้น fallback ภาษาแรกที่เผยแพร่แล้วในลำดับด้านล่าง ค่า locale ในคำตอบบอกว่าเป็นภาษาใด
แสดงไม่พบหน้า strict ไม่ได้อะไร รายการถูกตัดออกจากลิสต์ การอ่านโดยตรงตอบ 404 locale_unavailable

ระบบส่งเฉพาะภาษาที่เผยแพร่แล้ว ภาษาที่เป็นฉบับร่างไม่เคยถูกใช้แทนภาษาอื่น

ถ้ายังไม่ได้ตั้งค่า หน้าจอจะแสดง ยังไม่ได้ตั้งค่า API สาธารณะของไซต์นี้จึงไม่ให้บริการ เลือกหนึ่งตัวเลือกด้านบน

การตั้งค่าภาษาไซต์ พร้อมภาษาเริ่มต้นและกฎเมื่อไม่มีคำแปล

เมื่อเลือก แสดงหน้าภาษาเริ่มต้น และมีมากกว่าหนึ่งภาษา ส่วน ภาษาสำรอง จะปรากฏ แต่ละภาษากำหนดรายการภาษาที่จะลองตามลำดับก่อนภาษาเริ่มต้นได้

  1. กด แก้ไข ที่ภาษา
  2. ใต้ ถ้าไม่มี {language} ให้แสดง กด เพิ่มภาษาสำรอง แล้วเลือกภาษา
  3. จัดลำดับด้วยปุ่มย้าย เอาภาษาออกด้วยปุ่มลบของภาษานั้น
  4. กด บันทึก

เปิด หยุดหลังจากลองภาษาเหล่านี้ เพื่อจบลำดับของภาษาที่ขอนี้หลังลองภาษาสำรองที่กำหนดไว้ ตัวอย่างลำดับลงท้ายด้วย หยุด เช่น es-MX → es-ES → หยุด ระบบจะไม่เพิ่มภาษาเริ่มต้นหรือภาษาหลักของรายการ ภาษาที่ขออื่นยังใช้กฎของตนเอง ตัวเลือกหยุดของภาษาสำรองไม่หยุดลำดับของภาษาอื่นที่ขอ ขอบเขตนี้ใช้กับภาษาสำรองระดับช่องด้วย ลำดับและตัวเลือกหยุดบันทึกพร้อมกัน และปฏิเสธการแก้ไขจากข้อมูลเก่า เมื่อลบภาษา ระบบจะลบลำดับและตัวเลือกหยุดของภาษานั้นด้วย แต่ยังลบภาษาที่ลำดับอื่นอ้างถึงไม่ได้ สำเนาเว็บไซต์ส่งกฎนี้เป็นการตั้งค่า language_fallback หนึ่งรายการให้เลือกตรวจและนำไปใช้ ต้องมีภาษาทั้งหมดในเว็บไซต์ปลายทาง โดยภาษาเริ่มต้นของปลายทางจะไม่เปลี่ยน

ก่อนบันทึก หน้าจอจะนับว่าผู้เข้าชมภาษานั้นจะได้อะไร: แปลแล้ว: {count}, แสดงเป็น {language}: {count} และ ไม่แสดง: {count}

  • ภาษาสำรองของภาษาสำรองจะตามต่อไปด้วย เมื่อมี pt-BR → pt และ pt → es ระบบลอง pt-BR แล้ว pt แล้ว es หากลำดับของภาษาที่ขอไม่ลงท้ายด้วย หยุด จึงลองภาษาเริ่มต้นและภาษาหลักของรายการต่อ
  • เมื่อการแก้ไขกระทบผู้เข้าชมภาษาอื่นด้วย หน้าจอจะแสดงคำเตือน ยังเปลี่ยนสิ่งที่ผู้เข้าชม {languages} เห็นด้วย
  • รายการหนึ่งมีได้ไม่เกิน 8 ภาษา
  • การบันทึกจะถูกปฏิเสธเมื่อภาษาวนกลับมาหากัน เมื่อภาษาอ้างถึงตัวเอง ระบุภาษาซ้ำ หรือระบุภาษาที่เว็บไซต์ไม่มี
  • ถ้าไม่มีรายการและไม่ได้ตั้งให้หยุด ระบบจะลองภาษาเริ่มต้น แล้วจึงลองภาษาหลักของรายการ
  • ภายใต้ แสดงไม่พบหน้า ภาษาสำรองจะไม่ถูกใช้

ตัวแก้ไขลำดับภาษาสำรองสำหรับภาษารัสเซียก่อนบันทึก

การอ่านสาธารณะขอภาษาด้วย ?locale= หากไม่ระบุจะขอภาษาเริ่มต้นของไซต์ โดยยังใช้กฎเมื่อไม่มีคำแปลตามเดิม

  • ในโหมด fallback ระบบลองภาษาที่ขอและลำดับภาษาสำรองที่ขยายแล้ว หากลำดับไม่ลงท้ายด้วย หยุด จึงลองภาษาเริ่มต้นและภาษาหลักของรายการ ระบบส่งภาษาแรกที่เผยแพร่แล้วและอยู่ในลำดับที่อนุญาต
  • ภายใต้ strict จะส่งเฉพาะภาษาที่ขอ และเฉพาะขณะที่ภาษานั้นเผยแพร่อยู่
  • แต่ละภาษาของรายการมีที่อยู่ของตัวเอง การอ่านรายการเดียวแสดงทุกภาษาที่เผยแพร่และที่อยู่ของแต่ละภาษาใน alternates
  • ตัวแก้ไขแสดงผลลัพธ์ของแต่ละภาษา เช่น ยังไม่เผยแพร่เป็น ไทย ผู้เข้าชมจะเห็น อังกฤษ หรือ ยังไม่เผยแพร่เป็น ไทย ผู้เข้าชมจะเห็นหน้าไม่พบ

กฎเป็นของเว็บไซต์ ผู้เข้าชมหรือผู้เรียก API เปลี่ยนไม่ได้

หากต้องการเติมค่าของช่องที่ยังไม่มีคำแปล ให้เปิด คุณสมบัติ ของช่องในโมเดล แล้วเปิด ภาษาสำรองของช่อง ตัวเลือกนี้ปิดไว้โดยค่าเริ่มต้น ใช้ได้กับช่องที่ไม่บังคับกรอกและแปลแยกตามภาษา ได้แก่ ข้อความ ข้อความจัดรูปแบบ ตัวเลข ค่าจริงหรือเท็จ วันที่ ตัวเลือก JSON และคอมโพเนนต์ รวมถึงความสัมพันธ์ที่เลือกลิงก์แยกแต่ละภาษา ใช้ไม่ได้กับที่อยู่ สื่อ ช่องบังคับกรอก หรือรายการความสัมพันธ์ที่ใช้ร่วมกันทุกภาษา

ในตัวแก้ไขเนื้อหา ใช้ภาษาสำรอง จะลบคำแปลของช่องนั้น ส่วน กรอกคำแปล ใช้เริ่มกรอกค่าในภาษานี้อีกครั้ง การล้างช่องถือว่าตั้งใจเว้นว่าง: ค่าว่าง null false ศูนย์ และรายการว่างจะไม่ถูกแทนด้วยค่าจากภาษาอื่น

เมื่อไซต์ใช้กฎภาษาสำรอง ช่องที่ไม่มีค่าจะใช้ค่าที่เผยแพร่ค่าแรกจากลำดับภาษาสำรอง แล้วจึงตรวจภาษาหลักของรายการ เว้นแต่ลำดับของภาษาที่ขอจะลงท้ายด้วย «หยุด» แต่ละภาษาใช้เวอร์ชันที่เผยแพร่ของตนเอง แบบร่างที่ใหม่กว่าจะไม่ถูกนำมาเติมช่องนี้ ในโหมดเข้มงวด ระบบจะไม่ใช้ภาษาสำรองระดับช่อง

การอ่านรายการผ่าน API สาธารณะ รายการ ตัวกรอง การเรียงลำดับ การค้นหา และหน้าของเว็บไซต์ที่สร้างขึ้นใช้ค่าหลังเติมภาษาสำรองแล้ว ค่า locale ในคำตอบยังคงระบุภาษาที่ใช้แสดงรายการ ตัวแก้ไขเก็บคำแปลแยกไว้ การใช้ภาษาสำรองจึงไม่คัดลอกค่าไปบันทึกในคำแปล

การบันทึกผ่าน API จัดการใช้ unset_fields: {"th": ["subtitle"]} เพื่อลบคำแปลของช่องได้ รับเฉพาะช่องที่เปิดตัวเลือกนี้ไว้ และห้ามกำหนดค่าพร้อมลบค่าในคำขอเดียวกัน สิทธิ์ของช่องและภาษายังมีผลตามเดิม การไม่ส่งคีย์ในคำขอแก้ไขบางส่วนจะคงค่าเดิมไว้

สำหรับความสัมพันธ์ที่แยกตามภาษา หากยังไม่มีการเลือกจะใช้ภาษาสำรอง รายการที่เลือกไว้จะแทนรายการสำรอง และรายการว่างที่บันทึกไว้อย่างชัดเจนจะคงว่าง ใช้ภาษาสำรอง ลบการเลือกของภาษานี้ ส่วน กรอกคำแปล เริ่มรายการของภาษานี้ การบันทึก กู้คืนเวอร์ชัน คัดลอกไซต์ แสดงตัวอย่าง และการอ่านสาธารณะหรือแอปที่สร้างขึ้นคงความแตกต่างทั้งสามแบบ รายการปลายทางยังต้องเผยแพร่และผู้ใช้ปัจจุบันต้องอ่านได้ API ใช้ unset_fields เพื่อรับค่าจากภาษาสำรอง และ locale_relations: {"th": {"authors": []}} เพื่อบันทึกรายการว่างโดยตั้งใจ

โดยค่าเริ่มต้น บทบาทเข้าถึงทุกภาษา หากต้องการจำกัด ให้เปิด การตั้งค่า → บทบาท แก้ไขบทบาท แล้วเปิด จำกัดฟิลด์และภาษา

  • จำกัดภาษา เลือกภาษาที่บทบาททำงานได้ มีผลกับการสร้าง แก้ไข ลบ กู้คืน ตรวจทาน เผยแพร่ และยกเลิกการเผยแพร่
  • อ่านได้ทุกภาษา เปิดการอ่านไว้ ผู้แปลจึงอ่านภาษาต้นทางได้ขณะแก้ไขเฉพาะภาษาของตน
  • การกระทำนอกภาษาของบทบาทจะถูกปฏิเสธด้วย locale_denied การกระทำที่ครอบคลุมหลายภาษา เช่น การเผยแพร่ทั้งรายการหรือการทำงานแบบกลุ่ม จะถูกปฏิเสธทั้งหมด
  • ฟิลด์ที่ใช้ร่วมกัน รายการความสัมพันธ์ที่ใช้ร่วมกัน และสื่อ อยู่ในภาษาหลัก การเปลี่ยนต้องมีสิทธิ์แก้ไขภาษาหลัก

กฎฉบับเต็มอยู่ใน จำกัดบทบาทให้เหลือบางฟิลด์หรือบางภาษา

การกระทำเหล่านี้เปลี่ยนภาษาเดียวและไม่แตะภาษาอื่น:

  • เริ่มคำแปล {language} เพิ่มภาษาให้รายการ
  • เผยแพร่{language} และ เลิกเผยแพร่{language} ในแผง การเผยแพร่ ของรายการ
  • ย้ายภาษานี้ไปถังขยะ และการกู้คืนภาษานั้นจากถังขยะ
  • กู้คืนเฉพาะ {language} ในประวัติของรายการ
  • ที่อยู่ของแต่ละภาษา
  • ฟิลด์ความสัมพันธ์ที่เปิด ลิงก์ต่างกันในแต่ละภาษา ดู ลิงก์ต่างกันในแต่ละภาษา
  • ข้อความแทนภาพและคำอธิบายแต่ละภาษาใน คลังสื่อ

การกระทำที่มีป้าย ทุกภาษา ย้ายทุกภาษาของรายการ การย้ายระหว่างสองขั้นที่ไม่ได้เผยแพร่ เช่น อนุมัติ · ทุกภาษา จะคงภาษาที่เผยแพร่อยู่แล้วให้ยังออนไลน์ นำภาษานั้นออกด้วย เลิกเผยแพร่{language} ดู ภาษาเดียวหรือทุกภาษา

กด นำออก ที่ภาษา การยืนยันจะนับสิ่งที่ภาษานั้นมี: รายการเนื้อหาที่เขียนในภาษานี้ กลุ่มคำแปลที่ใช้ภาษานี้เป็นภาษาหลัก และคำอธิบายสื่อ

  • การนำออกจะเอาภาษาออกจากเครื่องมือแก้ไข ไม่มีข้อมูลที่เก็บไว้ถูกลบ
  • เนื้อหาที่เผยแพร่อาจยังส่งในภาษานี้ต่อไปจนกว่าจะถูกแก้ไขและเผยแพร่ใหม่
  • ภาษาเริ่มต้นนำออกไม่ได้ ให้ตั้งภาษาอื่นเป็นภาษาเริ่มต้นก่อน
  • ภาษาที่เป็นภาษาสำรองของภาษาอื่นนำออกไม่ได้: {language} เป็นภาษาสำรองของ {languages} โปรดนำออกจากรายการเหล่านั้นก่อน
  • ถ้าสิ่งที่ภาษานั้นมีเปลี่ยนไปก่อนคุณยืนยัน การนำออกจะถูกปฏิเสธ ตรวจตัวเลขใหม่แล้วลองอีกครั้ง
  • สร้างเนื้อหาใหม่ในภาษาที่นำออกแล้ว หรือภาษาที่เว็บไซต์ไม่เคยมี ไม่ได้ (unknown_locale) การสร้างที่ทำงานอยู่ขณะนำภาษาออกจะไม่เขียนอะไร (language_changed)

ผลกระทบจากการลบภาษาไทยก่อนยืนยัน

ปัญหา สาเหตุ วิธีแก้
API สาธารณะตอบ 500 site_locale_policy_invalid ไม่มีกฎสำหรับคำแปลที่ขาดหายบันทึกไว้ เลือกกฎในส่วน คำแปลที่ขาด
การอ่านตอบ 404 locale_unavailable ไม่มีภาษาที่เผยแพร่แล้วซึ่งกฎอนุญาต โหมด strict อนุญาตเฉพาะภาษาที่ขอ ลำดับที่หยุดจะไม่เพิ่มภาษาเริ่มต้นหรือภาษาหลักของรายการ เว้นแต่ระบุไว้ในลำดับ เผยแพร่ภาษาที่อนุญาต แก้ลำดับหรือตัวเลือกหยุด หรือเปลี่ยนกฎเมื่อไม่มีคำแปล
ผู้เข้าชมเห็นภาษาอื่น กฎ fallback และภาษาที่ขอยังไม่เผยแพร่ ตรวจ locale ในคำตอบ แล้วเผยแพร่คำแปล
นำออก ถูกปฏิเสธ เป็นภาษาเริ่มต้น หรือเป็นภาษาสำรองของภาษาอื่น เปลี่ยนภาษาเริ่มต้น หรือแก้รายการภาษาสำรอง
บันทึกรายการภาษาสำรองไม่ได้ วนซ้ำ ซ้ำกัน ภาษาที่ไม่รู้จัก หรือเกิน 8 ภาษา แก้รายการตามที่หน้าจอบอก
การเพิ่มภาษาให้รายการถูกปฏิเสธด้วย language_in_trash ภาษานั้นของรายการอยู่ในถังขยะ กู้คืนจากถังขยะ
ผู้แปลเผยแพร่ภาษาของตนไม่ได้ บทบาทไม่มีสิทธิ์เผยแพร่ในภาษานั้น หรือการกระทำครอบคลุมหลายภาษา ใช้ปุ่มของภาษานั้นเอง หรือขยายบทบาท

แปลและเผยแพร่รายการตามคู่มือ แก้ไขและเผยแพร่เนื้อหา


ยังไม่เปิดตัว (pre-MVP) และยังไม่มีเวอร์ชันเสถียร
คอมมิตซอร์สโค้ด: e207e63239a627fbd2ae9c414ef7c6eb19fcfe5a (มีการแก้ไขที่ยังไม่คอมมิต)
วันที่สร้างเอกสาร (UTC): 2026-10-21T09:28:24.214Z
คอมมิตสำหรับอัปเกรด: ระบุไม่ได้: มีการแก้ไขที่ยังไม่คอมมิต. บันทึกการเปลี่ยนแปลง