REEID บทบรรณาธิการ
การแปลแบบฟอร์ม WordPress: ฟิลด์เป็นเพียงครึ่งหนึ่งของปัญหา
การแปลแบบฟอร์ม WordPress ไม่ได้เป็นเพียงเรื่องของการเปลี่ยนป้ายกำกับฟิลด์เท่านั้น แบบฟอร์มหลายภาษายังมีข้อความตรวจสอบความถูกต้อง ข้อความตัวอย่าง ข้อความยืนยัน การแจ้งเตือนทางอีเมล เงื่อนไขแบบแยกทาง และค่าที่เปลี่ยนแปลงได้ ซึ่งทั้งหมดนี้อาจแสดงเป็นภาษาที่ไม่ถูกต้องได้ หากไม่ได้จัดการให้เป็นส่วนหนึ่งของระบบแบบฟอร์ม
ประเด็นสำคัญ
หากคุณแปลเฉพาะป้ายกำกับฟิลด์ที่มองเห็นได้ แบบฟอร์มก็ยังอาจล้มเหลวต่อประสบการณ์หลายภาษาในขั้นตอนส่งข้อมูล ในผลลัพธ์อีเมล หรือในพฤติกรรมแบบมีเงื่อนไข กลยุทธ์การแปลที่สมบูรณ์ต้องครอบคลุมทุกสตริงที่ผู้ใช้มองเห็น และทุกค่าที่ขึ้นกับภาษาซึ่งแบบฟอร์มสามารถแสดงออกมาได้
ทำไมการแปลแบบฟอร์มจึงกว้างกว่าป้ายกำกับฟิลด์
แบบฟอร์มไม่ใช่บล็อกอินพุตที่มองเห็นได้แบบคงที่ แต่มันคือเวิร์กโฟลว์ขนาดเล็กที่เก็บข้อมูล ตอบสนองต่อการเลือกของผู้ใช้ ตรวจสอบความถูกต้องของการส่งข้อมูล และมักส่งข้อความถึงทั้งเจ้าของเว็บไซต์และผู้เยี่ยมชม แต่ละขั้นตอนเหล่านี้สามารถเปิดเผยข้อความเฉพาะภาษาได้
นั่นหมายความว่าแบบฟอร์มอาจดูเหมือนแปลแล้วบนหน้าเว็บ แต่ยังคงรั่วไหลภาษาต้นฉบับในข้อความผิดพลาด ข้อความยืนยัน ข้อความตัวอย่าง หรือเนื้อหาอีเมลขาออก ในทางปฏิบัติ ประสบการณ์ของผู้ใช้จะเป็นหลายภาษาได้เท่ากับส่วนที่แปลน้อยที่สุดของกระบวนการแบบฟอร์ม
สตริงที่ผู้ใช้มองเห็นซึ่งต้องแปล
ป้ายกำกับฟิลด์ที่มองเห็นได้เป็นเพียงชั้นหนึ่งเท่านั้น แบบฟอร์มมักมีข้อความตัวอย่าง ข้อความช่วยเหลือ การแจ้งเตือนฟิลด์ที่จำเป็น ข้อความตรวจสอบความถูกต้อง ข้อความยืนยันความสำเร็จ และข้อความล้มเหลว สตริงเหล่านี้เป็นส่วนหนึ่งของการโต้ตอบ ไม่ใช่เพียงการตกแต่ง
หากผู้เยี่ยมชมส่งแบบฟอร์มที่กรอกไม่ครบ และข้อความตรวจสอบความถูกต้องแสดงเป็นภาษาที่ไม่ถูกต้อง แบบฟอร์มนั้นก็ล้มเหลวต่อวัตถุประสงค์หลายภาษาไปแล้ว เช่นเดียวกันเมื่อข้อความยืนยันหรือปลายทางการเปลี่ยนเส้นทางไม่ตรงกับภาษาของหน้าที่ส่งแบบฟอร์ม
ทำไมข้อความตัวอย่างและข้อความตรวจสอบความถูกต้องจึงสำคัญในเชิงเทคนิค
ข้อความตัวอย่างและข้อความตรวจสอบความถูกต้องมีผลต่อวิธีที่ผู้ใช้ตีความแบบฟอร์มก่อนและหลังการส่ง ข้อความตัวอย่างสามารถแนะนำรูปแบบการกรอกข้อมูลได้ ขณะที่ข้อความตรวจสอบความถูกต้องอธิบายว่าเกิดอะไรผิดพลาดและต้องแก้อะไร หากสตริงเหล่านั้นยังไม่ถูกแปล แบบฟอร์มอาจยังทำงานได้ แต่การโต้ตอบจะไม่สอดคล้องกัน
เรื่องนี้สำคัญเป็นพิเศษเมื่อแบบฟอร์มต้องอาศัยการกรอกข้อมูลที่แม่นยำ ป้ายกำกับที่แปลแล้วเพียงอย่างเดียวไม่ช่วยอะไร หากข้อความตรวจสอบความถูกต้องอ้างถึงชื่อฟิลด์หรือกฎรูปแบบในอีกภาษาหนึ่ง ผู้ใช้ต้องเข้าใจทั้งฟิลด์และกฎที่ควบคุมมัน
ข้อความยืนยันและการแจ้งเตือนทางอีเมลเป็นส่วนหนึ่งของพื้นผิวการแปลเดียวกัน
การส่งข้อมูลสำเร็จมักกระตุ้นให้เกิดข้อความยืนยันบนหน้าจอ และบ่อยครั้งยังมีการแจ้งเตือนทางอีเมลหนึ่งฉบับหรือมากกว่า ข้อความเหล่านั้นเป็นเนื้อหาที่ผู้ใช้มองเห็นได้ แม้จะถูกสร้างขึ้นหลังจากส่งแบบฟอร์มแล้วก็ตาม
หากข้อความยืนยันถูกแปลแล้ว แต่การแจ้งเตือนทางอีเมลไม่ถูกแปล ประสบการณ์หลายภาษาก็จะขาดตอนตรงจุดส่งต่อจากเบราว์เซอร์ไปยังกล่องจดหมาย ปัญหาเดียวกันนี้เกิดขึ้นเมื่อหัวเรื่องการแจ้งเตือน เนื้อหาในอีเมล หรือค่าฟิลด์แบบไดนามิกยังคงอยู่ในภาษาต้นฉบับ แบบฟอร์มอาจรับการส่งข้อมูลได้ถูกต้อง แต่ชั้นการสื่อสารยังคงเปิดเผยเนื้อหาที่ไม่ได้แปล
ตรรกะแบบมีเงื่อนไขเปลี่ยนสิ่งที่ต้องแปล
ตรรกะแบบมีเงื่อนไขทำให้การแปลเป็นมากกว่าปัญหาการแทนที่สตริง เมื่อคำตอบหนึ่งเปิดเผยฟิลด์ ข้อความ หรือแขนงที่ต่างออกไป แต่ละแขนงก็อาจมีป้ายกำกับ ข้อความช่วยเหลือ และกฎตรวจสอบความถูกต้องของตัวเอง
นั่นสร้างความเชื่อมโยงระหว่างภาษาและพฤติกรรม หากตรรกะถูกแปลอย่างไม่สอดคล้องกัน ผู้ใช้อาจเห็นแขนงที่ถูกต้องในเชิงการทำงานแต่ไม่ครบถ้วนในเชิงภาษา หรืออาจพบข้อความที่อ้างถึงฟิลด์ซึ่งพวกเขาไม่เคยเห็นในภาษาของตน ในแบบฟอร์มหลายภาษา ต้นไม้ตรรกะและต้นไม้ข้อความต้องสอดคล้องกันเสมอ
ค่าที่เปลี่ยนแปลงได้สามารถรั่วไหลเป็นภาษาที่ผิดได้ แม้แบบฟอร์มจะถูกแปลแล้ว
แบบฟอร์มมักแทรกค่าที่เปลี่ยนแปลงได้ เช่น ชื่อหน้า ตัวเลือกที่เลือก ข้อมูลที่ผู้ใช้ป้อน หรือเนื้อหาอื่นที่ขึ้นกับบริบท ลงในข้อความยืนยันและการแจ้งเตือน ค่าพวกนี้ไม่ได้เป็นสตริงคงที่เสมอไป จึงต้องพิจารณาแยกจากป้ายกำกับที่แปลแล้ว
แบบฟอร์มที่แปลแล้วก็ยังสามารถสร้างผลลัพธ์แบบหลายภาษาได้ หากค่าที่เปลี่ยนแปลงได้นั้นมาจากแหล่งที่ไม่รับรู้ภาษา เรื่องนี้จะเห็นได้ชัดเป็นพิเศษในข้อความยืนยันและอีเมล ซึ่งแบบฟอร์มอาจผสมข้อความแม่แบบที่แปลแล้วเข้ากับเนื้อหาแบบไดนามิกที่ไม่ได้แปลหรือไม่ตรงกัน
ผลเชิงปฏิบัติ: การแปลต้องตามวงจรชีวิตของแบบฟอร์ม
ข้อสรุปเชิงปฏิบัติสำหรับผู้พัฒนา WordPress คือ การแปลควรถูกประเมินตลอดวงจรชีวิตทั้งหมดของแบบฟอร์ม ได้แก่ การแสดงผล คำแนะนำการกรอก การตรวจสอบความถูกต้อง การส่งข้อมูล การยืนยัน และการแจ้งเตือน แต่ละขั้นตอนสามารถเปิดเผยชุดสตริงและค่าที่แตกต่างกันได้
สำหรับเจ้าของ WordPress นี่หมายถึงการตรวจสอบไม่ใช่แค่สิ่งที่ปรากฏในตัวแก้ไข แต่รวมถึงสิ่งที่ถูกสร้างขึ้นเมื่อแบบฟอร์มทำงานด้วย แบบฟอร์มอาจถูกปรับให้เป็นภาษาท้องถิ่นอย่างสวยงาม แต่ยังคงล้มเหลวในสภาพแวดล้อมจริง เพราะข้อความปลายทางหนึ่ง แขนงหนึ่ง หรือค่าที่เปลี่ยนแปลงได้หนึ่งรายการไม่เคยถูกแปลเลย
คำถามที่พบบ่อย
ทำไมการแปลเฉพาะป้ายกำกับฟิลด์จึงไม่เพียงพอสำหรับแบบฟอร์ม WordPress หลายภาษา?
เพราะแบบฟอร์มยังส่งออกข้อความตัวอย่าง ข้อความตรวจสอบความถูกต้อง ข้อความยืนยัน การแจ้งเตือนทางอีเมล แขนงแบบมีเงื่อนไข และค่าที่เปลี่ยนแปลงได้ ส่วนใดส่วนหนึ่งของกระบวนการที่ไม่ได้แปลอาจเปิดเผยภาษาต้นฉบับได้ แม้ว่าป้ายกำกับจะดูถูกต้องก็ตาม
จุดใดที่พบบ่อยที่สุดที่แบบฟอร์มที่แปลแล้วมักยังรั่วไหลภาษาที่ผิด?
ผลลัพธ์ของการตรวจสอบความถูกต้องและการยืนยันเป็นจุดที่ล้มเหลวบ่อย เพราะปรากฏหลังการโต้ตอบ ไม่ใช่แค่ตอนหน้าแรกแสดงผล การแจ้งเตือนทางอีเมลก็เป็นอีกจุดที่รั่วไหลบ่อย เพราะถูกสร้างแยกจากแบบฟอร์มที่มองเห็นได้
ตรรกะแบบมีเงื่อนไขมีผลต่อการแปลแบบฟอร์มอย่างไร?
ตรรกะแบบมีเงื่อนไขเปลี่ยนว่าฟิลด์และข้อความใดจะปรากฏตามข้อมูลที่ผู้ใช้ป้อน หากแขนงของตรรกะไม่ได้ถูกแปลไปพร้อมกับป้ายกำกับและข้อความ ผู้ใช้อาจเห็นแขนงที่ถูกต้องในเชิงการทำงานแต่ไม่สอดคล้องกันในเชิงภาษา
แหล่งที่มา & หลักฐาน
นำสถาปัตยกรรมไปใช้งาน
ดูว่าการเชื่อมต่อ WordPress ทำงานอย่างไรในระบบหลายภาษา
สำรวจความเข้ากันได้เฉพาะปลั๊กอิน พื้นที่การแปล และบันทึกการใช้งานใน REEID Integration Directory



