Polylang คือปลั๊กอินที่ใช้สำหรับทำเว็บไซต์แบบ 2 ภาษา เช่น ไทย-อังกฤษ ที่จะแบ่งเนื้อหาออกเป็น 2 ชุด ลิงค์เข้าหากัน เช่น เมื่อผู้อ่านอยู่ในหน้าที่เป็นภาษาไทย และกดเปลี่ยนภาษาไปเป็นภาษาอังกฤษ
Polylang ก็จะไปดึงเอาหน้าที่เป็นภาษาอังกฤษมาแสดง รวมถึงเมนู วิดเจ็ต และอื่นๆ ที่แสดงบนหน้าเว็บด้วยp
ดังนั้นการทำเว็บ 2 ภาษา ในกรณีนี้ ไม่ใช่การทำเว็บแปลภาษา ที่เป็นระบบแปลอัตโนมัติ เพราะการทำเว็บ 2 ภาษา ในที่นี้ หมายถึง การที่เราสร้างข้อมูลของทั้ง 2 ภาษาขึ้นมาเอง โดยทั้ง 2 หน้า อาจจะไม่เหมือนกันก็ได้ เพราะเราสามารถที่จะเขียนให้ต่างกันได้ทั้งข้อความและรูปภาพ เหมาะกับภาษาที่แปลยากๆ เช่นภาษาไทย ถ้าใช้ Google แปลอัตโนมัติเป็นภาษาอื่น จะสื่อความหมายผิดพลาดเยอะมาก
การทำเว็บ หลายภาษานั้นเหมือนเป็นการเปิดประตู เปิดโอกาสให้กับตนเอง ให้คนได้รู้จักเรามากยิ่งขึ้น หากเว็บไหนเขียนเพื่อให้ได้ค่าคลิกค่าโฆษณา แน่นอนว่าต้องได้รับค่าคลิกเพิ่มจากการที่มีภาษาอื่นๆ ที่มีผู้คนใช้มากมายทั่วโลกเช่น ภาษาอังกฤษ สามารถเข้าถึงได้ ค่าคลิกจากต่างประเทศนั้นแพงเสียด้วยสิ
เหมาะสำหรับ : เว็บบล็อกทั่วไป
Downloadการตั้งค่า
Languagesหลังจากติดตั้งปลั๊กอินแล้วให้เราไปที่เมนู
Settings > Languages แล้วจะมีแท็บ
Languages ที่ยังไม่มีภาษาอะไร ให้เราทำการเพิ่มภาษาเสียก่อน โดยเลือกภาษาจากลิสต์
Choose a language ก่อนที่เราจะคลิก
Add new language เราสามารถที่จำกำหนดลำดับให้กับภาษานั้นได้ ค่านี้จะนำไปอ้างอิงตอนที่เราสร้างปุ่มเปลี่ยนภาษาค่ะ โดยใช้ตัวเลขเป็นตัวกำหนด ตัวที่มาก่อนก็จะแสดงอยู่ก่อน เช่น ภาษาอังกฤษเป็น 1 ภาษาไทยเป็น 2 ปุ่มภาษาอังกฤษก็จะแสดงอยู่ก่อนปุ่มภาษาไทยค่ะ (0 ก็มีค่ามาก่อน 1 เช่นกัน)
หลังจากที่เราเพิ่มภาษาจนครบแล้ว กล่องทางด้านขวามือก็จะมีภาษาที่เราเพิ่มให้เห็นรายละเอียดดังนี้
Strings Translationเป็น ส่วนสำหรับแปลข้อความอื่นๆ ที่จะแสดงบนเว็บไซต์ เป็นข้อความโดดๆ ที่ไม่ได้เป็น Post type แบบไหนเลย ซึ่งมักจะมีมากับธีมหรือปลั๊กอินที่เราติดตั้งเสริมเข้าไป เป็นต้น
SettingsDefault Language สำหรับกำหนดภาษาหลักให้กับเว็บไซต์
หมายเหตุ : หากเรามีบทความที่เขียนไว้แล้ว เช่น เราเขียนบทความเป็นภาษาไทยไว้หลายบทความแล้ว เมื่อจะทำเป็น 2 ภาษาและได้ทำการ add ภาษาเรียบร้อยแล้วทั้งไทยและอังกฤษ เราจะเจอกับตัวเลือกนี้ให้ติ๊ก เพื่อกำหนดให้บทความที่เขียนไว้ก่อนหน้านี้เป็นภาษาตามภาษาหลัก หากเป็นอังกฤษก็ควรจะตั้งภาษาหลักเป็นอังกฤษเสียก่อนแล้วค่อยติ๊กนะคะ หรือ หากมีหลายภาษาปนกันอยู่ ก็ไม่ต้องติ๊กในช่องนี้ ให้ราไปกำหนดสำหรับแต่ละบทความแทน
URL modifications สำหรับตั้งค่าเกี่ยวกับ URL ของเว็บ เช่น หากเลือกเป็น
The language is set from the directory name in pretty permalinksเว็บ wpthaiuser.com ก็จะมี url ของเว็บภาษาอังกฤษที่เป็น wpthaiuser.com/en
Hide URL language information for default language สำหรับซ่อน url ของภาษาหลักที่ต่อท้ายจากข้อก่อนหน้านี้ เช่น ถ้าเว็บ wpthaiuser.com ตั้งภาษาหลักเป็น ภาษาไทย แล้วติ๊ก Hide URL ในช่องนี้ เมื่อผู้อ่านเข้าชมเว็บก็จะเข้ามาเจอกับภาษาไทยก่อน แต่ที่ url ก็จะยังคงเป็น wpthaiuser.com โดยไม่มี /th ตามหลัง แต่ถ้าผู้อ่านคลิกเปลี่ยนภาษาเป็น อังกฤษ ก็จะมี /en ตามหลัง
Remove /language/ in pretty permalinks ลบ slug /language ออกจาก URL ให้เหลือแต่ /th , /en เท่านั้น
หากเราสร้างหน้า Home ต่างหากแล้วตั้งเป็น Home page (
Static front page) เราก็จะมีตัวเลือกด้านบน สำหรับให้เลือกว่าจะให้แสดงเป็นแค่ url ของภาษา แทนที่จะแสดง url ของ page นั้นๆ หรือไม่ (เราจะต้องมีหน้า Home ของทั้ง 2 ภาษาแล้วเซ็ตเป็น static front page ก่อนจึงจะเจอตัวเลือกนี้)
Detect browser language สำหรับตรวจจับภาษาของบราวเซอร์ที่ผู้ใช้เปิดดูเว็บ อันนี้มีทั้งข้อดีและข้อเสีย จริงๆ ไม่แนะนำให้เปิดเท่าไหร่ เพราะในประเทศไทย บางคนก็ตั้งค่าบราวเซอร์เป็นไทย บางคนก็ต้องเป็นภาษาอังกฤษ การติ๊กที่ช่องนี้จะทำให้ระบบไม่อิงหน้าเว็บตามภาษาหลักที่ตั้งไว้ แต่จะอิงตามภาษาที่ผู้ใช้ได้ตั้งค่าให้กับบราวเซอร์ของตัวเองแทน
Media เชื่อมไฟล์มีเดียของแต่ละภาษาด้วย ไม่ว่าเราจะเขียนบทความอยู่บนภาษาไหนอยู่ ก็ยังสามารถใช้ไฟล์มีเดียเช่น รูปภาพ ร่วมกันได้
Custom Post type เป็นการแปล Post types อื่นๆ ที่อาจจะมาจากปลั๊กอิน
Custom taxonomies, Synchronization ทำงานคล้ายๆ กับ Custom Post Type เพียงแต่เป็นสิ่งที่พิเศษขึ้นมาจากปลั๊กอินอื่นๆ ที่เราติดตั้ง เช่น หากเราติดตั้ง WooCommerce เราก็อาจจะต้องแปลในส่วนของ สินค้าด้วย ส่วน Synchornization ก็คือการเชื่อมโยงเนื้อหาส่วนอื่นๆ ที่เป็น meta content ต่างๆทำเว็บหลายภาษาเช่นเดียวกับหลายๆ ปลั๊กอินเมื่อคุณทำเว็บ 2 ภาษา หลังจากที่ติดตั้ง Polylang แล้ว ให้คุณเข้าใจว่า อะไรก็ตามที่จะแสดงผลออกทางหน้าจอสู่สายตาของผู้อ่านได้ สิ่งนั้นก็ต้องตั้งค่าในแต่ละภาษาด้วย เช่น เมนู, widget, Categories, Tags หรือในบางธีม เรายังสามารถกำหนด Theme options ของธีม เช่น สีและสไตล์ต่างๆ ให้ต่างกันได้อีกด้วย
Post, Page, Post typeเมื่อ กเราคลิกที่เมนู All Posts, All Pages หรือ Post type อื่นๆ เราก็จะเจอกับโพสทั้งหมด พร้อมทั้งฟิลด์ของภาษาของโพสนั้นๆ ถ้าเครื่องหมาย อยู่ตำแหน่งของภาษาใด ก็แสดงว่าโพสนั้นกำหนดให้เป็นนั้นแล้ว หากอีกตำแหน่งของอีกภาษาเป็นเครื่องหมาย ก็แสดงว่ายังไม่มีบทความของภาษานั้น เราก็สามารถเพิ่มได้ด้วยการคลิกที่เครื่องหมาย แล้วทำการเขียนบทความเพิ่ม (ตัวเครื่องหมาย ก็สามารถคลิกเพื่อแก้ไขบทความของภาษานั้นได้เช่นกัน)
เมื่อเราเพิ่มโพสใหม่จากภาษาก่อนหน้า ระบบก็จะให้เราตั้ง
Title ใหม่ ซึ่งหากเราใช้ชื่อเดียวกัน เช่น หากตั้งชื่อบทความเป็นภาษาอังกฤษเหมือนกัน เนื่องจาก WordPress จะสร้าง url ตาม Title และเว็บ 2 ภาษาประเภทนี้ยังถือว่าอยู่บนเว็บเดียวกัน ดังนั้นระบบก็จะสร้าง slug (url) อัตโนมัติไม่ให้ซ้ำกัน บทความที่มีชืีอเหมือนกับบทความอื่น แต่ถูกสร้างทีหลัง ก็จะมี url ตามด้วยหมายเลขตามลำดับ เช่น -2 แต่เราก็สามารถเขียนใหม่ให้เข้าใจง่ายกว่าเดิมได้ เช่นเพิ่มแท็กภาษาเข้าไปดังในตัวอย่าง หากเป็นหน้าภาษาอังกฤษก็อาจจะเพิ่ม -en ต่อท้าย เป็นต้น
ที่ด้านขวาเราจะเจอกล่อง
Language ที่แสดงให้เราเห็นว่าเราเขียนบทความภาษาไหนอยู่ และ
Trnaslations ก็คือ Title ของอีกภาษาหนึ่ง ในรูปด้านล่างเราจะจำลองคนละบทความ ที่มี Title เป็นคนละภาษาต่างกันชัดเจนเพื่อให้สังเกตุได้ง่าย
จากนั้นก็ทำการเขียนบทความภาษาอังกฤษตามปกติ
เมื่อเราเขียนเรียบร้อยแล้ว หากกลับไปดูที่หน้า
All Posts จะเจอเครื่องหมาย ที่แสดงว่าโพสนั้นเป็นภาษาอะไร และเครื่องหมาย ที่แสดงว่ามีอีกภาษาเรียบร้อยแล้ว ต่างจากโพสที่ยังไม่มีอีกภาษาที่เราเห็นว่าก่อนนี้จะเป็นเครื่องหมาย สำหรับให้เราคลิกเพื่อแปลอีกภาษาให้ครบ
Categoriesการเพิ่ม Categories นั้นสามารถทำได้ 2 แบบ
1. ก่อนการ
Publish หรือเผยแพร่บทความนั้น เราก็ต้องกำหนด Category ให้กับบทความก่อนอยู่แล้ว หากเราใช้ Categories (หมวดหมู่) เดียวกันทั้ง 2 ภาษา เช่น ภาษาไทยก็ News อังกฤษก็ News ระบบก็จะเติมแท็กภาษาที่ด้านท้ายของภาษาที่เพิ่มเข้ามาทีหลังหรือที่ไม่ได้ เป็นภาษาหลัก เช่น url ของภาษาไทยก็จะเป็น
www.wpthaiuser.com/news เฉยๆ แต่ของภาษาอังกฤษจะเป็น
www.wpthaiuser.com /
news-en เป็นต้น (ผู้เขียนถึงแม้จะใช้หมวดหมู่เป็นภาษาไทย เช่น ข่าว, ทิป แต่ก็เขียน slug เป็นภาษาอังกฤษ เป็น news, tip แทน เพราะไม่อยากให้ url ที่เป็นภาษาไทยนั้น เวลาก๊อปไปวางที่อื่นจะยาวเกินเหตุและอ่านยากไปหน่อย) หากใครยังไม่เข้าใจเรื่อง categories ลองอ่านเพิ่มเติมได้ที่เรื่อง
Tags และ Categories ค่ะ2. การสร้าง Categories ไว้ล่วงหน้า
ทำเช่นเดียวกับการเพิ่มโพส โดยการไปที่เมนู
Posts > Categories ที่ช่อง
Add New Category ก็ให้เราสร้างตามปกติ แต่ด้านล่างจะมีตัวกำหนดภาษาให้เรากำหนดสำหรับ category ที่สร้างใหม่อยู่
การเชื่อม Categories เดิมหาก เราเพิ่มบทความใหม่และสร้าง Categories ของอีกภาษาขึ้นมาใหม่และต้องการเชื่อมโยงหมวดหมู่ทั้ง 2 ภาษาเข้าด้วยกันก็สามารถทำได้ เพราะถึงแม้ว่าเราจะตั้งชื่อให้เหมือนกันแล้ว แต่
ยกตัวอย่าง เราสร้างจำลองขึ้นมา 2 หมวดหมู่
ไทย : หมวดหมู่ทดลอง ภาษาไทย
En : Categories Test English
คลิก
Edit ที่หมวดหมู่ใดก็ได้ ในที่นี้เราเลือกแก้ตัวไทย
เลื่อนไปที่ด้านล่าง ตรงตำแหน่ง
Translation ให้เราพิมพ์หมวดหมู่ของอีกภาษาลงไป พิมพ์แค่นิดเดียว ระบบก็จะแสดงตัวที่แมทกันมาให้เราเลือกแล้วค่ะ เสร็จแล้วก็
Save การแก้ไข
จะเห็นได้ว่า เครื่องหมาย ได้หายไป กลายเป็นเครื่องหมาย แล้ว แสดงว่ามีหมวดหมู่ที่เชื่อมกันทั้ง 2 ภาษาแล้ว
การกำหนดให้แสดงข้อมูลทีละ 1 ภาษาในบางกรณีเราอาจต้องการเลือกดูเฉพาะภาษาใดภาษาหนึ่ง เช่น เวลาที่เรามี Categories ที่ชื่อเหมือนกันทั้ง 2 ภาษา ก็อาจจะทำให้สับสน หรือถ้ามีหมวดหมู่เยอะมากๆ ก็จะทำให้เราต้องเลื่อนดูทีละมากๆ หรือหลายๆ หน้า ในบางกรณีที่เราทำเมนูของแต่ละภาษา ก็ไม่อยากจะให้แสดงตัวเลือกของอีกภาษาเพื่อป้องกันการสับสน
เราสามารถเลือกให้แสดงทีละภาษาได้ โดยการคลิกเลือกภาษาที่ต้องการให้แสดงที่ Toolbar ระบบก็จะแสดงเฉพาะภาษานั้นๆ
Menuขั้นตอนแรกให้เรากำหนดให้แสดงเฉพาะภาษาใดภาษาหนึ่งก่อน เพื่อให้ง่ายต่อการจัดการ จะได้มองเห็นเฉพาะเนื้อหาของภาษานั้นๆ จากนั้นก็ทำตามขั้นตอนการสร้างเมนูปกติ โดยกำหนดตำแหน่งและภาษาที่
Settings ของเมนู
ทำการเพิ่ม
Language Switcher ไปที่เมนูเพื่อสร้างปุ่มเปลี่ยนภาษา
ตัวตั้งค่าของ
Language SwitcherDisplays language names : แสดงชื่อภาษา
Displays flags : แสดงธงชาติ
Forces link to front page : เมื่อกดเปลี่ยนภาษาให้ไปที่หน้า Home ก่อนเสมอ
Hides the current language : แสดงเฉพาะปุ่มของอีกภาษาโดยไม่จำเป็นต้องมีปุ่มของภาษาปัจจุบัน
Hides languages with no translation : ไม่ต้องแสดงปุ่มของภาษาที่ไม่ได้แปลไว้ (กรณีบางบทความที่ไม่ได้แปล ก็จะไม่มีตัวเลือกให้เปลี่ยนภาษา)
เสร็จ แล้วกำหนดตำแหน่งและภาษาให้กับเมนูนั้น ถ้าต้องการให้มีเมนูเหมือนกัน ตำแหน่งเดียวกันทั้ง 2 ภาษาก็คลิกทั้ง 2 ตำแหน่งได้เลย ระบบจะทำการเปลี่ยนเมนูให้อัตโนมัติ แต่หากเราต้องการสร้างเมนูแต่ละภาษาเอง ก็สร้างทีละอันและกำหนดทีละอันก็ได้เช่นกัน
ตัวอย่างเมนูที่ได้
ทดสอบใช้งานสลับภาษาจะเห็นได้จากตัวอย่างด้านล่างนี้ว่า โพสนี้มี 2 ภาษา เมื่อเราคลิกที่เมนูสลับ ระบบก็จะดึงหน้าของอีกภาษาขึ้นมาแสดงในทันที
Widgetเราสามารถเพิ่ม Widget ที่ Sidebar โดยตามปกติ โดยสามารถเลือกให้แสดงทั้ง 2 ภาษา หรือจะกำหนดภาษาให้แสดงตามภาษาที่เราต้องการก็ได้
Polylang + WooCommerce
เป็นไปได้มั๊ยที่จะใช้ Polylang กับ Woocommerce ซึ่งเป็นปลั๊กอินสร้างร้านค้าออนไลน์ที่ได้รับความนิยมมากที่สุด
คำตอบก็คือ
ได้ แต่
ไม่แนะนำ เพราะ Polylang ยังไม่สนับสนุน WooCommerce เต็มที่เท่าไหร่ เรายังต้องใช้ปลั๊กอินอื่นมาช่วยเชื่อมอีกที เช่น
Hyyan WooCommerce Polylang Integration เพื่อช่วยให้ทำงานได้สมบูรณ์ขึ้น เมื่อมีปลั๊กอินใดใน 3 ตัวนี้มีการอัพเดต เราก็ต้องลุ้นการอัพเดตในอีก 2 ตัวที่เหลือด้วยในกรณีที่มีปัญหา ซึ่งคงไม่มีใครอยากเอาร้านค้าของตัวเองไปแขวนไว้บนเส้นด้ายแบบนี้แน่นอน ในกรณีแบบนี้ผู้เขียนจะแนะนำให้ใช้ปลั๊กอินที่สร้างมาเพื่อให้ใช้งานได้กับ WooCommerce โดยตรง และได้รับการแนะนำจาก WooCommerce ด้วย อย่าง
WPML ซึ่ง เป็นปลั๊กอินที่ต้องเสียตังค์ แต่อย่างน้อยเมื่อเราซื้อ เราก็ย่อมสามารถที่จะได้รับการช่วยเหลือเมื่อเกิดปัญหา เพราะร้านค้าเป็นเรื่องเกี่ยวกับเงินทองที่อ่อนไหวมาก ความน่าเชื่อถือเป็นสิ่งที่สำคัญที่สุด เราจะทำการรีวิวปลั๊กอิน WPML ให้ได้ชมกันเร็วๆ นี้
ที่มา:
http://www.wpthaiuser.com/polylang-wordpress-multilingual/