พบปัญหา URL aliases ใช้ไม่ได้ กับเว็บหลายภาษา
July 18, 2010
- ทำเว็บหลายภาษา โดยใช้ modules : Locale + Content translation
- ใช้ pathauto ในการสร้าง URL alias สำหรับแต่ละโหนด
- เวลาสร้างเนื้อหา จะมีช่องให้เลือกว่าเป็นภาษาอะไร มีตัวเลือกคือ Language neutral, Thai และ English (default เป็นภาษาไทย)
แต่ปัญหาคือ URL alias ของเนื้อหาที่เป็นภาษาอังกฤษ จะเปิดไม่ได้ (แต่ Language neutral และ Thai เปิดได้ปกติ)
มีวิธีตรวจสอบอะไรเพิ่มเติมมั้ยฮะ

ภาษาแรก เกิดจากการ Create
ภาษาแรก เกิดจากการ Create content ครับ
ส่วน ภาษาที่ 2, 3, 4, ... เกิดจากการ Translate ครับ
ที่คุณทำ เป็นแบบนี้รึป่าว? ถ้าทำแบบนี้.. URL alias ก็น่าจะใช้ได้ ^^
ไม่ได้ใช้การ Translate
ไม่ได้ใช้การ Translate แต่ใช้วิธี create content แล้วเลือกเป็นภาษาอื่นโดยตรงครับ (เช่น English)
ผมก็คิดแล้วว่าคุณต้องทำแบบนั้
ผมก็คิดแล้วว่าคุณต้องทำแบบนั้น ก็เลยไม่ได้ ^__^
แบบนั้นมันจะไม่จับคู่ภาษาครับ จะแยกกันโดยสิ้นเชิง ต้อง Translate ครับ
เว็บ 2 ภาษา แต่เนื้อหาไม่ได้
เว็บ 2 ภาษา แต่เนื้อหาไม่ได้ เหมือนกันเป๊ะ เลยไม่ได้ใช้วิธีแปล (จับคู่)
แต่ใช้วิธีสร้างเนื้อหาแบบแยกจากกัน แล้วกำหนดใน node ว่าเป็นภาษาอะไร
คือจากที่เข้าไปดูในรายการ URL alias เนื้อหาภาษาอังกฤษ จะถูกกำหนดภาษาของ url ไว้เป็น English ซึ่งคลิกไม่ได้ เช่น en/about
แต่ถ้าไปแก้ไขเปลี่ยนภาษาของ url นั้นๆ เป็น Thai หรือ All language ก็จะใช้งาน url alias นั้นได้ (ไม่ได้แก้ไข path "en/about" อะไรเลย)
ผมลองทำตามที่คุณ poakpong
ผมลองทำตามที่คุณ poakpong บอกแล้วนะครับ ได้ผลดังนี้
1.Create content แล้วเลือกภาษา เป็น Thai พิมพ์ Title ว่า ภาษาไทย จะได้..
http://localhost/drupal/ภาษาไทย <<เมื่อคลิก Language switcher เป็น ภาษาไทย ครับ และ
http://localhost/drupal/en/node/1 <<เมื่อคลิก Language switcher เป็น English ครับ
2.Create content แล้วเลือกภาษา เป็น English พิมพ์ Title ว่า english จะได้..
http://localhost/drupal/en/english << เมื่อคลิก Language switcher เป็น English ครับ และ
http://localhost/drupal/node/2 << เมื่อคลิก Language switcher เป็น ภาษาไทย ครับ
อย่างผมนี่ URL aliases ใช้ไม่ได้ ด้วยรึป่าวครับ? (ชักไม่แน่ใจในคำถาม)
ทดลองแล้วครับ
ทดลองแล้วครับ ใช้ได้ผลตามคำแนะนำด้านบน
แต่จะต้องคลิกผ่าน Language switcher ก่อน แล้วถึงจะเปิด link (url alias) ในภาษานั้นๆ ได้ (อีกภาษานึงจะใช้งานไม่ได้)
แล้วมีวิธี ให้สามารถเปิดทั้ง 2 ภาษา โดยไม่ต้องคลิก Language switcher รึป่าวครับ
แก้ปัญหาได้แล้วครับ ใช้
แก้ปัญหาได้แล้วครับ ใช้ modules i18n เพิ่มเติม -- ตอนนี้ใช้ได้เรียบร้อยแล้ว :p