สืบเนื่องด้วย ผมต้องทำเว็บบริษัทเป็น 2 ภาษา
www.honghuat.com คือ ภาษาไทยและอังกฤษ โดยผมใช้ WordPress ทำโดยออกแบบ Theme ใช้งานเอง ซึ่งในที่นี้ผมใช้ Plugin qTranslate ตัวนี้ทำซึ่งในกลุ่ม Plugin การทำหลายภาษานั้นก็มีหลายตัว แต่ในที่นี่ผมใช้ตัวนี้ โดยให้ท่านไป Download มาติดตั้ง แล้วทำการ Active มันก่อน ซึ่งในที่ผมจะมาอธิบายนี้ผมจะขอข้ามในส่วนของการติดตั้ง การ Set ค่าไปแต่ผมจะให้ Link ไปดูแทนเพราะว่าคนอื่นเค้าเขียนอธิบายได้ค่อนข้างละเอียดแล้ว ผมจะพูดถึงปัญหาที่เจอ และการแก้ไขปัญหาแทนน่ะครับ เพราะว่าผมเองก็มือใหม่ในการใช้ Plugin ตัวนี้
1.Download ที่
http://wordpress.org/extend/plugins/qtranslate/ 2.ติดตั้งแล้วทำการ Active มันก่อน
3.ส่วนของการ Set ค่าภาษา ท่านสามารถมาดูได้ที่ Link นี้
–
http://don-jai.com/wp-qtranslate-wordpress-plugin/ –
http://byyoursites.com/wordpress-qtranslate/82907/ –
http://www.inkthemes.com/how-to-translate-your-wordpress-website-using-qtranslate-plugin/01/ ซึ่ง Link ดังกล่าวได้อธิบายไว้ดีอยู่แล้วน่ะครับ
4.ที่นี้มาดูวิธีการเอามาใช้งานก็มี 2 วิธีหลักๆก็คือ
-วิธีที่ 1. เป็นแบบ Widgets โดยท่านก็ไปสร้าง Widget ขึ้นมาแล้วก็ลากมาใส่ได้เลย แล้วก็เอาไปใส่ในเว็บว่าจะให้แสดงตรงไหน
-วิธีที่ 2. คือใช้คำสั่ง Code แสดงลงไปตรงๆเลย แล้วแทรกแล้วแทรกไว้ในไฟล์ที่ท่านต้องการ
echo qtrans_generateLanguageSelectCode('image'); |
ที่นี้จะมาพูดถึงปัญหาที่เราจะเจอต่อไป (กรณีนี้ ผมสร้างและออกแบบ Theme เองน่ะครับ)
1.กรณี ไม่แสดงรูปธงชาติ ต้องใส่ wp_head(); กับ wp_footer(); ซึ่งเป็นการใส่ให้แสดง show_admin_bar() ด้วย ต้องระวังส่วนนี้ไว้ด้วย ต้องใส่ทั้ง wp_head(); กับ wp_footer(); หากใส่แค่ wp_head(); มันจะสร้าง CSS ขึ้นมาให้เองอัตโนมัติคือ
html { margin-top: 28px !important; } * html body { margin-top: 28px !important; } |
ดังนั้นมันจะดัน Layout เราเสียไป แต่ก็สามารถแก้ไขได้โดยสั่งให้ซ่อน Admin Bar ไปที่ ไฟล์ functions.php แล้วพิมพ์คำสั่งนี้ลงไป show_admin_bar( false ); แต่ทางที่ดีควรใส่ให้ครบทั้งคู่คือ wp_head(); กับ wp_footer();
2.กรณีที่ต้องการแสดงแบบเช็คภาษาเอง ให้ทำแบบนี้แบบตรงๆกับไฟล์ php ตรงๆเลยก็ได้
_e("<!--:en-->english text<!--:--><!--:th-->ภาษาไทย text<!--:-->"); |
ซึ่งมันก็เหมือนเราเขียนแบบนี้
if (qtrans_getLanguage() == 'en') { echo 'English Text'; } elseif (qtrans_getLanguage() == 'th') { echo 'ภาษาไทย Text'; } |
3.กรณีที่เราทำเมนูขึ้นมาก็อยากให้เป็น 2 ภาษาด้วยก็สามารถใส่เงื่อนไขแบบ Quick Code ไปตรงๆได้เลยที่ Navigation Label ของ Menus
4.ท่านสามารถเขียน CSS ไปควบคุมการแสดงผล ธงชาติ ได้เองตามปกติน่ะครับจะเป้นแบบไหนก็ได้ก็แล้วแต่เรา
จบแล้วครับปัญหาที่ผมเจอ และก็ใช้งานไปประมาณนี้ หวังว่าคงเป็นประโยชน์ไม่มากก็น้อยน่ะครับ
ที่มา:
http://www.select2web.com/wordpress/using-plugin-qtranslate.html