ทำเว็บไซต์หลายภาษาด้วย Drupal
posted on 27 Aug 2008 15:18 by itshee in Drupalมาอีกแล้วครับ ความเดิมจากคราวก่อน สร้างเว็บไซต์ด้วย Drupal ภายใน 12 ชั่วโมง คราวนี้ ที่บ้านก็เกิดปิ๊งไอเดียขึ้นมาว่า งั้นทำใส่หลายๆ ภาษาเลย ลูกค้าจะได้เยอะ (หวังว่า หวังว่า) ก็เลยอยากให้มี ภาษาอังกฤษ กับภาษาญี่ปุ่นด้วย จนสุดท้ายก็เลยมาเป็นหน้าที่เราควานหา ว่าทำยังไงให้มันง่ายและขี้เกียจที่สุด ก็เจอ มอจยูลที่ชื่อ i18n (ชื่อมันแปลกเพราะมาจากคำว่า internationalization โดยใครไม่รู้บอกว่าชื่อยาว เลยย่อเหลือ i กับ n และเลข 18 ตรงกลางก็มาจากว่ามี 18 ตัวอักษร ช่างคิดจริงๆ ) กลับมาต่อเรื่องมอจยูลของมัน คือ ตัวนี้เหมือน add-ons ดีๆ นี่เอง พอลงเสร็จ เราก็สามารถทำเว็บไซต์หลายภาษาได้(เกือบ)อัตโนมัติ โดยมีลูกเล่นเด่นๆ คือ
- สร้างภาษาอื่น และทำลิงก์ของแต่ละหน้าอัตโนมัติ
- ทำเมนูหลายภาษา สำหรับหน้าภาษาต่างๆ ไม่ต้องทำเป็นเมนูภาษาอังกฤษหมด
- detection สำหรับคนใช้งาน ว่าใช้ภาษาอะไรเป็นหลัก ก็เปิดหน้านั้นเลย ถ้ามาจากญี่ปุ่น ก็เปิดภาษาญี่ปุ่นเลย (ไม่รู้จริงหรือเปล่า ทดลองไม่เป็น)
คำเตือน! ช่วงนี้วนเวียนกับแต่ศัพท์เทคนิค ขออภัย
มาอีกแล้วครับ ช่วงนี้กำลังลองเล่นดรูพอล คราวนี้ลองทำเว็บไซต์หลายภาษาอัตโนมัติดู โดยเป็นเอนทรีต่อเนื่องจาก ซึ่งของผมใช้ Drupal 6.4 กับ มอจยูล (module) ชื่อ i18n ตัวอย่างเว็บก็ที่เดิมครับ www.qcparawood.com ลองกดเล่นเปลี่ยนภาษาได้ (ตรงมุมขวาล่าง) โดยวิธีการติดตั้งมีดังนี้ (สำหรับวิธีการรุ่นภาษาอังกฤษก็ดูได้ที่เว็บเขาเลย http://drupal.org/node/133983
- ลงมอจยูล - แรกสุดโหลดไฟล์ซิป http://drupal.org/project/i18n แล้วมาแตกไปลง ลงในโฟลเดอร์i18n เข้าไปใน sites/all/modules เหมือนเคย
- เซ็ตอัป - เข้าไปหน้า admin-> modules เลือก enable ตัวที่ต้องการ ก็เลือกซะเกือบหมด
- เปิดโอกาสให้แก้ - เข้าไปหน้า admin -> permissions -> translate content ก็เลือกไว้ ว่าอยากให้ใครเข้ามาแก้มาแปลได้
- เปิดภาษาที่ต้องการ - (ข้ามได้ถ้าทำแล้ว) ถ้ายังไม่ได้แก้เพิ่มภาษาจากมอจยูล locale ก็เลือก admin -> languages (site configuration) ก็เพิ่มภาษาที่ต้องการโดยกด add languages หลังจากนั้นก็เลือก configure (จากแท็บด้านบน) แล้วเลือก Path prefix only เพื่อให้แสดงผลเป็น ชื่อเว็บ/en หรือ ชื่อเว็บ/ja ตามภาษาที่ต้องการ ไม่ปนกันมั่ว
- เปิดชนิดคอนเทนต์ที่ต้องการ - เข้าไปตรง admin -> content types แล้วเลือก type ที่ต้องการมีการแปลภาษาเช่น "page" ก็เข้าไป edit เซ็ตให้ Workflow settings -> Multilingual support: -> Enabled, with translation :: คราวนี้ก็ถือว่าเซ็ตเสร็จแล้ว
- แก้ไขของเดิม (ถ้าไม่มีก็ข้ามไปได้) - คราวนี้พอทำเสร็จ พวกเนื้อหาเก่าเข้าไปดู เมนู Translate ก็ยังไม่ขึ้น ให้เข้าไปที่หน้าเดิมที่สร้างไว้แล้ว กด edit แล้วเปลี่ยนตรง Language เปลี่ยนจาก Language Neutral เป็น English (หรือภาษาที่เป็น default) แค่นี้ก็เสร็จแล้ว ก็จะมีเมนูให้แปลเป็นภาษาอื่นขึ้นมา คราวนี้ถ้าอยากแปลเป็นภาษาอะไร ก็กด translate แล้วโปรแกรมก็จะทำให้อัตโนมัติ และก็อย่าลืมเซ็ต URL path ด้านล่างด้วย ว่าจะให้ชื่ออะไรโดยอาจใส่เป็นชื่อเดิมก็ได้
- เซ็ตเมนู - พอทำเสร็จก็ถึงคราวเซ็ตเมนูหลัก อันนี้เอาทุกอย่างรวมฮิตไว้ใน Primary links หมด แต่ตอนแยก ก็แยกกันคนละภาษา ว่าเมนูไหนจะโผล่มาตอนภาษาไหนใช้งาน ก็เสร็จเรียบร้อย
คราวนี้หน้าที่แปลเป็นภาษาอื่นแล้ว ก็จะมีเมนูขึ้นมาด้านล่างซ้ายของหน้า (หรือจะย้ายไปไหนก็ตามใจชอบ)สนใจก็ลองดูเว็บได้ที่ www.qcparawood.com
สำหรับดรูพอลภาคต่ออ่านได้ที่ http://itshee.exteen.com/archive/category/Drupal










เผื่อจะให้คนต่างชาติเข้ามาชมบล๊อคเราได้ด้วย
#1 By Ratcicle on 2008-08-27 16:44