เกี่ยวกับเว็บ 2 ภาษา
ขอความเห็นหน่อยครับ ว่าถ้าจะทำเว็บ 2 ภาษาเช่น หน้า บทความแรก(th),first article(en) โดยมีเงื่อนไขที่ว่า สามารถเปลี่ยนภาษาได้ในหน้านั่น เช่น อยุ่หน้า เนื้อหา บทความแรก แล้วถ้ากดเปลี่ยนภาษา(en) ต้องเปลี่ยนเป็นหน้า first article ผมไปเห็นในตารางจะมีฟิลด์ชื่อ alias เข้าใจว่าตัวนี้จะเป็นลิงค์ในการค้นหาในหน้า view ผมก็เลยคิดว่า ถ้าให้มันใช้ alias เดียวกันหมดก็น่าจะได้
ซึ่งก็ได้ เลยอยากถาม อ.ว่ามันจะผิดอะไรรึป่าวครับ ถ้าได้คงต้องไปแก้ที่หลังบ้าน ที่นามแฝงให้เช็คไม่ซ้ำกันในบทความเดียวกัน
ซึ่งก็ได้ เลยอยากถาม อ.ว่ามันจะผิดอะไรรึป่าวครับ ถ้าได้คงต้องไปแก้ที่หลังบ้าน ที่นามแฝงให้เช็คไม่ซ้ำกันในบทความเดียวกัน
ถ้าไม่เกี่ยวกับ GCMS
จะว่าไปแนวคิดที่ว่าก็ไม่แหละครับ (ถ้าสามารถจัดการตามที่ว่าได้ โดยตีความจากที่ผมเข้าใจนะครับ)
แนวคิดของระบบ multi language จริงๆแล้วก็จะแบงออกเป็นสองอย่างครับ เช่น
1.URL เดียวกัน แต่แบ่งภาษาในการแสดงผลของเนื้อหาออกเป้นภาษาอื่นๆ ในกรณีนี้เราต้องคำนึงถึงว่า มันคือหน้าเดียวกัน หน้าในภาษาอื่นจะหมายความถึงหน้าที่ผ่านการแปล ดังนั้น URL ของหน้าจะเป็น URL เดียวกัน เช่น การอ้างถึงเนื้อหาด้วย id ในแต่ละภาษาจะต้องมี id เดียวกัน ดังนั้น โดยทั่วๆไป ถ้าใช้ alias มันก็ควรมี alias เดียวกันครับ
วิธีสำหรับกรณีนี้ คือ แค่เพิ่มฟิลด์เก็บข้อมูลเนื้อหา ในภาษาที่ต้องการเท่านั้นครับ
2.URL แตกต่างกัน (เช่น GCMS) วิธีนี้ id ของบทความจะไม่ตรงกัน และก็สามารถใช้ alias ตามภาษาได้ ข้อดีคือในด้าน seo จะได้หน้าเพิ่ม ตามภาษาที่มีอยู่ แต่ข้อเสียคือ วิธีการออกแบบจะยุ่งยากกว่าครับ
หมายเหตุ เหตุผลหลักที่ผมเลือกวิธีนี้เพราะ
การเพิ่มภาษาใหม่ในภายหลังจะไม่ยุ่งยาก ลองนึงถึงภาพบทความที่มีสัก 4-5 ภาษาสิครับ ซึ่ง GCMS สามารถทำด้ง่ายๆแค่สร้างโมดูลในภาษาที่ต้องการเท่านั้น (ไม่ต้องแก้ไขระบบ) รวมถึงสามารถแสดงบทความเดียวกันในทุกภาษาได้เลย
#module=knowledge-การตรวจสอบว่ามีฟังก์ชั่นของ_javascript_อยู่หรือไม่&page=1 ที่เป็นภาษาไทย แล้วดันทะลึ่งจะอ่านภาษาอื่นแล้วกดแปลภาษา
ในหน้านี้ระบบก็ต้องไปหาเนื้อหาอันนี้ในภาษานั่นๆ ให้ได้ แต่ก็ไม่น่าจะยากก้อาจจะต้องหาอะไรมาบอกว่าบทความนี้เป็นบทความเดียวกัน
แม่นแล้วครับ
จริงๆแล้วถ้าไม่ใช่โหมด Ajax ก็พอแก้ปัญหาได้ครับ เช่น อาจใช้ตัวเลือก dropdown ในการเปลี่ยนภาษา (หรืออาจเลือกใช้วิธีอื่น) โดยส่ง url ของบทความในภาษานั้นๆ แทนที่ lang=en (query ของ ภาษาเปลี่ยนแปลงตามหน้าที่เรียก)
แต่ถ้าเป็นโหมด Ajax การทำแบบนี้ อาจยากอยู่ครับ เนื่องจากภาษาจะอ้างอิงตาม lang
อีกอย่างคือชื่อโมดูลอาจถูกใช้เป็นชื่อโฟลเดอร์ด้วย ซึ่งชื่อโฟลเดอร์ภาษาไทยมักมีปัญหากับ linux ครับ
เดี่ยวลองดูครับได้ไม่ได้ยังไงจะแจ้งให้ทราบ
1.โมดูลเป้น eng ตามกฏเดิมไปเถอะ เพื่อไม่ให้ยุ่งยากกับการจัดการ
2.เพื่มฟิลด์ที่ต้องการให้เป็น 2 ภาษา เช่น alias_th, alias_en และ detail_th, detail_en และอื่นๆที่น่าจะจำเป้น เฃ่น topic,description,keywords
3.เพิ่มช่องกรอกในภาษาต่างๆตามด้ายบนในตอนเขียน
4.เปลี่ยนภาษาด้วยกฏเดิม เช่น lang=en
5.แก้ไขการ query ใหม่ โดยให้หาข้อมูลตามภาษาที่เลือก
วิธีนี้น่าจะแก้ไขน้อยที่สุดนะครับ