WPML

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

เมื่อคุณสร้างเว็บไซต์ RTL / LTR หลายภาษา คุณต้องจัดการกับสองประเด็น:

  • การแก้ไข / การแปล
  • การแสดงผล

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

เมื่อแสดงผลเว็บไซต์ ธีมของคุณจำเป็นต้องจัดการทิศทางการแสดงผลที่ถูกต้องสำหรับภาษา RTL และ LTR

บทช่วยสอนนี้จะอ้างอิงตาม เว็บไซต์สาธิต Twenty Ten แบบหลายภาษา ของเรา ซึ่งมีให้บริการในภาษาอังกฤษ ภาษาสเปน และภาษาฮีบรู (RTL)

การเตรียมพร้อม – การรับไฟล์ .mo ของตัวหลักและธีม


ตัว WordPress เองและธีมเริ่มต้นได้รับการแปลเป็นภาษาต่างๆ อย่างสมบูรณ์ เราต้องการเวอร์ชันการแปลล่าสุด ดังนั้นเราจึงตัดสินใจรับจากบิลด์ WordPress ที่ได้รับการแปลแล้ว คุณสามารถรับได้จากที่นี่:
หลังจากที่คุณดาวน์โหลดและแตกไฟล์ WordPress ให้ไปที่ wordpress/wp-content/languages คัดลอกเนื้อหาทั้งหมดไปยังไดเรกทอรี languages ของคุณ ทำเช่นเดียวกันสำหรับธีม ไฟล์การแปลจะอยู่ใน wp-content/themes/twentyten (หรือธีมเริ่มต้นปัจจุบัน หากคุณอ่านโพสต์นี้ในภายหลัง)

คุณควรกำหนดค่า WPML เพื่ออนุญาตให้แปลธีมและปลั๊กอินด้วย

การแปล


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

หากนี่เป็นเรื่องใหม่สำหรับคุณ ให้อ่านเกี่ยวกับ โมดูลการจัดการการแปล ก่อน

นี่คือลักษณะหน้าตาเมื่อเราแปลโพสต์ Hello World เป็นภาษาฮีบรู

การแก้ไขแบบขวาไปซ้าย

คุณจะเห็นว่าข้อความภาษาอังกฤษถูกจัดชิดซ้าย ในขณะที่ภาษาฮีบรูถูกจัดชิดขวา เรายังสามารถใช้โหมด HTML เพื่อคัดลอกและวางรายการจากภาษาอังกฤษได้ โหมด HTML จะแสดงผลแบบ LTR เพื่อให้คุณสามารถป้อนแท็กได้อย่างถูกต้อง

เมื่อคุณแปลสตริง WPML จะแสดงผลในทิศทางที่ถูกต้องด้วย นี่คือลักษณะหน้าจอการแปลสตริงเมื่อเราแปลชื่อวิดเจ็ต Search

การแปลสตริงแบบ RTL

โมดูลตัวแก้ไขการแปลและการแปลสตริงจะช่วยให้เราสามารถแปลเว็บไซต์ได้อย่างสมบูรณ์แบบ ต่อไป เราจะดูวิธีการแสดงผลอย่างถูกต้องในทิศทางที่ถูกต้อง

การแสดงผลเว็บไซต์ในรูปแบบ RTL และ LTR


ตอนนี้เนื้อหาของคุณได้รับการแปลแล้ว ก็ถึงเวลาหันมาให้ความสนใจกับธีม

บรรทัดเล็กๆ นี้สร้างความมหัศจรรย์ได้มาก:

<html dir="rtl" lang="he-IL">

คุณสามารถดูได้หากคุณดูซอร์สโค้ดของหน้าภาษาฮีบรูใดๆ ตัวอย่างเช่น หน้าแรก

แอตทริบิวต์ dir="rtl" จะบอกเว็บไซต์ว่าทิศทางการแสดงผลสำหรับทั้งเว็บไซต์คือจากขวาไปซ้าย เบราว์เซอร์จะเข้าใจและพลิกทุกอย่างไปในทิศทางที่ถูกต้อง

บรรทัด PHP เดียวนี้จาก header.php จะทำให้สิ่งนี้เกิดขึ้น:

<html <?php language_attributes(); ?>>

การเรียกใช้ language_attributes จะแทรกแอตทริบิวต์ dir และ lang ค่าเหล่านี้มาจากไฟล์ .mo ของตัวหลัก หากคุณมีไฟล์ .mo ที่ถูกต้องสำหรับ WordPress คุณจะได้รับค่าที่ถูกต้องสำหรับแอตทริบิวต์เหล่านี้

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

คุณสามารถทำสิ่งนี้ได้อย่างง่ายดายโดยใช้คำสั่งเงื่อนไขที่ตรวจสอบค่าคงที่ ICL_LANGUAGE_CODE (อธิบายไว้ใน WPML coding API)

ผลลัพธ์


นี่คือลักษณะของ เว็บไซต์สาธิต ของเราในภาษาอังกฤษ ภาษาสเปน และภาษาฮีบรู

ภาษาอังกฤษ

ภาษาสเปน

ภาษาฮีบรู

มันไม่ได้ยากอย่างที่คิด ลองดูแล้วบอกให้เรารู้ว่าคุณทำได้ดีแค่ไหน

พบว่าสิ่งนี้มีประโยชน์หรือไม่? แชร์บทความนี้: