WPML

ก่อนที่คุณจะเริ่มต้น

ติดตั้งและเปิดใช้งานปลั๊กอินเหล่านี้:

  • Gravity Forms
  • WPML และ WPML การแปลสตริง
  • GFML – Gravity Forms Multilingual (ส่วนเสริมที่ครอบคลุมในหน้านี้)

สร้างฟอร์มใน Gravity Forms ด้วยภาษาต้นทางของเว็บไซต์คุณ เพิ่มทุกฟิลด์ที่คุณต้องการ (Pricing Fields โครงสร้างแบบแบ่งหน้า ตรรกะแบบมีเงื่อนไข การแจ้งเตือน และการยืนยัน) ก่อนส่งฟอร์มไปแปล คุณสามารถเปลี่ยนฟอร์มในภายหลังและแปลส่วนที่แตกต่างกันใหม่ได้เสมอ

แปลทุกอย่างโดยอัตโนมัติจะจัดการเรื่องนี้ให้คุณ

หากเว็บไซต์ของคุณเปิดใช้งาน แปลทุกอย่างโดยอัตโนมัติ คุณไม่จำเป็นต้องส่งฟอร์มไปแปลด้วยตนเอง WPML จะรับฟอร์มใหม่และฟอร์มที่อัปเดตไปพร้อมกับเนื้อหาที่เหลือของคุณและแปลในเบื้องหลัง ขั้นตอนการแทรกหน้าเว็บด้านล่างนี้ยังคงมีผลบังคับใช้ แต่ขั้นตอนการส่งฟอร์มไปแปลจะเป็นไปโดยอัตโนมัติ ส่วนที่เหลือของหน้านี้จะอธิบายวิธีการด้วยตนเองสำหรับเว็บไซต์ที่ใช้ แปลบางส่วน: คุณเลือกสิ่งที่จะแปล (หรือสำหรับฟอร์มที่คุณต้องการแปลก่อนคิวอัตโนมัติ)

ส่งฟอร์มไปแปล

  1. ไปที่ WPML > การแปล > แดชบอร์ด
  2. ขยายส่วน Gravity Forms
  3. ทำเครื่องหมายที่ฟอร์มที่คุณต้องการแปล
  4. เลือกวิธีการแปล: PTC (แนะนำ) นักแปลของคุณ หรือ แปลด้วยตัวเอง
  5. คลิก แปล

ฟอร์ม ฟิลด์ ตัวเลือก การแจ้งเตือน การยืนยัน และข้อความการตรวจสอบความถูกต้องของแต่ละฟิลด์จะรวมอยู่ในงานแปลเดียวกัน นักแปลจะเห็นสิ่งเหล่านี้เป็นแถวที่มีป้ายกำกับใน ตัวแก้ไขการแปลขั้นสูง

แทรกฟอร์มลงในหน้าที่แปลแล้วของคุณ

Gravity Forms จะอยู่ในหน้าหรือโพสต์ ซึ่งมักจะผ่าน บล็อก Gravity Forms หรือ shortcode [gravityform id="X" title="false"] วิธีที่คุณจัดการการแทรกในหลายภาษาเป็นสิ่งที่ทำให้ลูกค้าประหลาดใจมากที่สุด ดังนั้นนี่คือกฎ:

ใช้บล็อกหรือ shortcode เดียวกันในทุกเวอร์ชันภาษาของหน้าเว็บ อย่าสร้างฟอร์มแยกต่างหากสำหรับแต่ละภาษา

ขั้นตอนมีดังนี้:

  1. สร้างฟอร์มเพียงครั้งเดียวในภาษาต้นทางของคุณ
  2. ส่งฟอร์มไปแปล (หรือปล่อยให้ แปลทุกอย่างโดยอัตโนมัติ จัดการ)
  3. แทรกฟอร์มในหน้าภาษาต้นทางโดยใช้บล็อก Gravity Forms หรือ shortcode [gravityform]
  4. แปลหน้าเว็บผ่าน WPML > การแปล > แดชบอร์ด ด้วยวิธีเดียวกับที่คุณแปลหน้าอื่น ๆ การฝังฟอร์มจะยังคงอยู่ในหน้าที่แปลแล้ว
  5. เมื่อผู้เยี่ยมชมเข้ามาที่หน้าที่แปลแล้ว GFML จะแสดงฟอร์มในภาษาของผู้เยี่ยมชมโดยอัตโนมัติ ซึ่งใช้ ID ฟอร์มเดียวกัน shortcode เดียวกัน และเนื้อหาที่แปลแล้ว

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

ข้อยกเว้น – เมื่อคุณต้องการฟอร์มที่แตกต่างกันอย่างแท้จริงสำหรับแต่ละภาษา บางเว็บไซต์ต้องการฟอร์มที่มีโครงสร้างแตกต่างกันสำหรับแต่ละภาษา (ฟิลด์ต่างกัน ตรรกะต่างกัน ไม่ใช่แค่ข้อความที่ต่างกัน) ในกรณีนั้น ให้สร้าง Gravity Forms แยกต่างหาก (หนึ่งฟอร์มต่อภาษา) และแทรก shortcode ของแต่ละฟอร์มในเวอร์ชันภาษาที่ตรงกันของหน้าเว็บโดยใช้ตัวแก้ไข WordPress สำหรับคำแปลนั้น นั่นเป็นสถานการณ์เดียวที่ shortcode จะแตกต่างกันในแต่ละภาษา

ข้อควรระวังสำหรับปลั๊กอินสร้างหน้าเว็บ

หากหน้าเว็บของคุณสร้างด้วย Divi, Elementor หรือปลั๊กอินสร้างหน้าเว็บอื่น ที่ครอบ shortcode ไว้ในโมดูลข้อความของตัวเอง shortcode อาจไม่คงอยู่หลังจากการแปลอย่างสมบูรณ์เสมอไป หากหน้าที่แปลแล้วแสดงฟอร์มในภาษาต้นทาง ให้เปิดหน้าที่แปลแล้วในปลั๊กอินสร้างหน้าเว็บและแทรกบล็อกหรือ shortcode ของฟอร์มลงไปใหม่ ตัวแก้ไขบล็อกและตัวแก้ไขแบบคลาสสิกของ WordPress ไม่มีปัญหานี้

ป้ายกำกับฟิลด์และตัวเลือกจะแปลไปพร้อมกับ Pricing Fields และ Product Fields

ป้ายกำกับฟิลด์ ตัวยึดตำแหน่ง ตัวเลือกดรอปดาวน์ ตัวเลือกปุ่มตัวเลือก ป้ายกำกับช่องทำเครื่องหมาย และเนื้อหาฟิลด์ HTML ทั้งหมดจะปรากฏในงานแปล สำหรับ Pricing Fields ที่โดดเด่นของ Gravity Forms (Product, Quantity, Total, Shipping) ป้ายกำกับก็จะแปลด้วยเช่นกัน – “Quantity” จะกลายเป็น “Quantité” – ในขณะที่การจัดการตัวเลขที่อยู่เบื้องหลังจะไม่ได้รับผลกระทบ List fields, Digital Signatures และ File Uploads จะแปลด้วยวิธีเดียวกัน Multiple Choice และ Image Choice (ประเภทฟิลด์ของ Gravity Forms 2.9) จะแปลได้ตั้งแต่ GFML 1.8.3 เป็นต้นไป

ฟอร์มแบบแบ่งหน้าและฟอร์มแบบสนทนา

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

ข้อความการตรวจสอบความถูกต้องของแต่ละฟิลด์

แต่ละฟิลด์ใน Gravity Forms จะมีการตั้งค่า Validation Message ของตัวเองในแท็บ Advanced ของฟิลด์ ซึ่งเป็นข้อความที่แสดงเมื่อการตรวจสอบความถูกต้องล้มเหลว แต่ละข้อความจะปรากฏเป็นแถวใน ตัวแก้ไขการแปลขั้นสูง

หากคุณไม่เห็นข้อความการตรวจสอบความถูกต้องของแต่ละฟิลด์ในงานแปล ฟิลด์นั้นอาจใช้ข้อความเริ่มต้นของ Gravity Forms (ตั้งค่าใน Forms > Settings > Form Settings) แทนที่จะเป็นการแทนที่ของแต่ละฟิลด์ คุณสามารถตั้งค่าข้อความที่กำหนดเองสำหรับแต่ละฟิลด์แล้วส่งฟอร์มไปแปลใหม่ หรือแปลค่าเริ่มต้นส่วนกลางผ่าน WPML การแปลสตริง

การยืนยัน – Text, Redirect และ Page

Gravity Forms รองรับประเภท Confirmation สามประเภท และทั้งสามประเภททำงานได้ในหลายภาษา:

  • การยืนยันแบบ Text จะแปลแบบอินไลน์ แก้ไขการยืนยันในภาษาต้นทางใน Gravity Forms > ส่งฟอร์มไปแปลใหม่ > ข้อความที่แปลแล้วจะปรากฏในแต่ละภาษา
  • การยืนยันแบบ Page จะชี้ไปที่หน้า WordPress แปลหน้านั้นผ่านเวิร์กโฟลว์การแปลหน้าตามปกติของ WPML ผู้เยี่ยมชมจะเห็นเวอร์ชันภาษาที่ตรงกับบริบทของพวกเขา
  • การยืนยันแบบ Redirect จะส่งผู้เยี่ยมชมไปยัง URL หลังจากส่งข้อมูล URL นั้นสามารถแปลได้ในแต่ละภาษา ตั้งค่า URL หน้าขอบคุณที่แตกต่างกันสำหรับแต่ละภาษาใน ตัวแก้ไขการแปลขั้นสูง

การแจ้งเตือนและการกำหนดเส้นทางการแจ้งเตือน

Notification ของ Gravity Forms ทุกรายการจะแปลตามภาษา: To Email, From Name, Subject, เทมเพลตเนื้อหา และ merge tags เนื้อหาของการแจ้งเตือนจะใช้ merge tags ของ Gravity Forms ({Name}, {Email}, {All Fields}) และแท็กเหล่านี้จะแสดงผลอย่างถูกต้องหลังจากการแปล กฎ Notification routing จะส่งข้อมูลไปยังผู้รับที่แตกต่างกันตามค่าของฟิลด์ กฎเหล่านี้จะยังคงทำงานได้หลังจากการแปล เนื่องจากค่าของตัวเลือกที่อยู่เบื้องหลังยังคงสอดคล้องกันในทุกภาษา

หลังจากการแปล ให้ส่งข้อมูลทดสอบในแต่ละภาษาและยืนยันว่าการแจ้งเตือนส่งมาในภาษาของผู้เยี่ยมชมพร้อมกับการแทนที่ merge-tag ที่ถูกต้อง

ตรรกะแบบมีเงื่อนไขกับค่าของตัวเลือกที่แปลแล้ว

ตรรกะแบบมีเงื่อนไขกับตัวเลือกแบบข้อความ (Radio Buttons, Checkboxes, Dropdowns) จะยังคงทำงานได้ในทุกคำแปล เนื่องจาก GFML จะรักษาระบบจับคู่ค่าระหว่างภาษาต้นทางและป้ายกำกับที่แปลแล้ว ผู้เยี่ยมชมจะเห็น “Pas encore” ในภาษาฝรั่งเศส ส่วนค่าที่อยู่เบื้องหลังจะยังคงเป็น “Not yet” และกฎแบบมีเงื่อนไขจะยังคงทำงานกับ “Not yet”

สิ่งเดียวที่ทำให้ตรรกะแบบมีเงื่อนไขพังคือ: การเปลี่ยนป้ายกำกับตัวเลือกในภาษาต้นทางหลังจากการแปลโดยไม่ส่งฟอร์มไปแปลใหม่ การจับคู่ค่าจะไม่อัปเดต แก้ไขได้โดยการส่งฟอร์มไปแปลใหม่ – GFML จะอัปเดตระบบจับคู่ค่า

ส่วนเสริมการผสานการทำงาน – Mailchimp, ActiveCampaign, HubSpot, Zapier, Slack, Webhooks

ส่วนเสริมของ Gravity Forms ที่ส่งข้อมูลไปยังบริการของบุคคลที่สาม (Mailchimp, ActiveCampaign, HubSpot, Zapier, Slack, Webhooks และอื่น ๆ) จะได้รับข้อมูลที่ผู้เยี่ยมชมป้อนเข้ามาซึ่งแปลแล้ว ชื่อและข้อความของผู้เยี่ยมชมชาวฝรั่งเศสจะส่งไปถึงปลายทางเป็นภาษาฝรั่งเศส ป้ายกำกับรายการที่จับคู่ไว้ ขั้นตอนในไปป์ไลน์ และชื่อแชนเนลก็จะแปลด้วยเช่นกัน หากสิ่งเหล่านี้เป็นสตริงระดับฟอร์ม

หากการผสานการทำงานของคุณใช้ค่าของฟิลด์แทนป้ายกำกับ (เช่น การจับคู่ค่าดรอปดาวน์กับรายชื่อใน Mailchimp) ค่าดังกล่าวจะยังคงเป็นมาตรฐานในทุกภาษา ดังนั้นการจับคู่จะไม่พัง

ปัญหาที่พบบ่อย

  • ป้ายกำกับตัวเลือกไม่แปลในอีเมลแจ้งเตือน ส่งฟอร์มไปแปลใหม่หลังจากเปลี่ยนป้ายกำกับในภาษาต้นทาง หากยังคงมีปัญหาอยู่ ให้ตรวจสอบว่า GFML เป็นเวอร์ชันล่าสุดหรือไม่ ปัญหานี้เคยเกิดขึ้นบ่อยในเวอร์ชันเก่าและมีการติดตามใน กระทู้ในฟอรัม
  • รูปแบบของบล็อกฟอร์มดูผิดเพี้ยนในหน้าที่แปลแล้ว นี่เป็นปัญหาถดถอยของรูปแบบที่ทราบแล้ว – โปรดดูที่ หน้าข้อผิดพลาด วิธีแก้ปัญหาชั่วคราว: ใช้การฝัง shortcode [gravityform] มาตรฐานแทนบล็อกฟอร์มในระหว่างที่รอการแก้ไข
  • ฟอร์มแสดงข้อความ “There is nothing to translate” ทั้งที่เห็นได้ชัดว่ามีเนื้อหาให้แปล มักจะเป็นปัญหาแคชของแดชบอร์ด ให้รีเฟรชหน้าเว็บ หรือส่งฟอร์มไปแปลใหม่จากโพสต์ที่ฝังฟอร์มนั้นไว้
  • ตรรกะแบบมีเงื่อนไขหยุดทำงานในฟอร์มที่แปลแล้ว ป้ายกำกับตัวเลือกถูกแก้ไขในภาษาต้นทางหลังจากการแปล ส่งฟอร์มไปแปลใหม่เพื่อรีเฟรชระบบจับคู่ค่า

เขียนโดย Amir · อัปเดตล่าสุดเมื่อ 2 กรกฎาคม 2026

เขียนโดย Amir · อัปเดตล่าสุด 2 กรกฎาคม 2026