ข้อความและภาษาบน GCMS
ระบบภาษาของ GCMS ได้ถูกแยกออกจาก PHP หรือ Template โดยเด็ดขาด และจากการที่ตัวเว็บเป็น UTF-8 (รวมถึงฐานข้อมูล) ทำให้เราสามารถสร้าง GCMS เพื่อแสดงผลในภาษาใดๆก็ได้ โดยไม่มีข้อจำกัดเรื่องภาษา หรือแม้แต่การทำ GCMS ให้เป็นระบบหลายภาษาก็ตาม
ภาษาทั้งหมดของ GCMS ถูกเก็บไฟล์ใน language/ ทั้งหมดทุกโมดูล โดยที่ไฟล์นามสกุล PHP จะถูกเรียกใช้โดย PHP และถูกแสดงใน Template และไฟล์นามสกุล JS จะถูกเรียกใช้โดย Javascript เท่านั้น
ตัวแปรภาษาทั้งหมดจะถูกเก็บอยู่ในตัวแปร $lng ตัวแปรใดๆที่ขึ้นต้นด้วย $lng[LNG_ สามารถถูกเรียกใช้อัตโนมัติโดย Template ได้โดยที่ไม่จำเป็นต้องเขียนโค้ดเพื่ออ่านตัวแปรนี้ ยกตัวอย่าง ว่าเราต้องการเขียนข้อความใดๆลงบนหน้าเว็บ ซึ่งโดยปกติเราจะเขียนมันลง Template เราสามารถเขียนข้อความนั้นๆในรูปตัวแปรภาษาได้เช่น
[code]<div>{LNG_BLOG_LANGUAGE_DEMO}</div>[/code]
ให้เราเขียนข้อความนี้ลงใน Template ของ Blog และกำหนดข้อความที่ต้องการลงในไฟล์ภาษา
[code=php]$lng[LNG_BLOG_LANGUAGE_DEMO] = 'ตัวอย่างข้อความที่ต้องการ';[/code]
เพียงแค่นี้ ข้อความที่ต้องการก็จะแสดงผลแล้ว
นอกจากนี้เรายังสามารถกำหนดให้เว็บเป็นระบบหลายภาษาได้ง่ายๆ ด้วยการกำหนดตัวแปรภาษาแยกกันแต่ละภาษาเช่น โดยปกติแล้วภาษาที่เราเรียกใช้อยู่ก็คือภาษาไทยตามที่กำหนดไว้ใน config หลัก
[code]// ภาษาที่เรียกใช้
$config[lng] = 'th';[/code]
ซึ่งมันจะไปทำการเรียกใช้ไฟล์ th.php และ th.js โดยอัตโนมัติ ซึ่งหากเราต้องการเปลี่ยนไปเรียกภาษาอื่นเราก็สามารถกำหนดให้มันเรียกไปยังภาษาอื่นได้เช่น
[code]// ภาษาที่เรียกใช้
$config[lng] = 'en';[/code]
และให้เราทำการสร้างไฟล์เพิ่มเติมคือ en.php หรือ en.js (ทุกไฟล์ใน language) โดยสามารถแปลข้อความหรือสำเนาข้อความจากไฟล์ภาษาไทยไปเป็นต้นแบบในการแปลได้ เพียงแค่นี้เราก็จะได้ GCMS ในแบบ multi language แล้ว (ใครที่มีโอกาศได้แปลเป็นภาษาอื่นๆ ช่วยส่งกลับมาให้ผมด้วยก็ดี)
หรือหากต้องการให้เว็บสามารถเปลี่ยนภาษาได้ให้แก้ไข config.php ดังนี้
[code=php]$language = isset($_GET[lng]) ? $_GET[lng] : $_COOKIE[$prefix.'language']; // ภาษาที่ต้องการ
$language = is_file("language/$language.php") ? $language : 'th'; // ตรวจสอบภาษา ถ้าไม่มีให้ใช้ภาษาไทย
setCookie($prefix.'language', $language, time() + 3600 * 24 * 365, '/'); // บันทึกภาษาที่เลือกลง cookie
$config[lng] = "$language";// ภาษาที่เลือก[/code]
แล้วก็สร้างปุ่มเรียกภาษาประมาณนี้
[code]<a href="index.php?lng=th">ไทย</a>[/code]
ภาษาทั้งหมดของ GCMS ถูกเก็บไฟล์ใน language/ ทั้งหมดทุกโมดูล โดยที่ไฟล์นามสกุล PHP จะถูกเรียกใช้โดย PHP และถูกแสดงใน Template และไฟล์นามสกุล JS จะถูกเรียกใช้โดย Javascript เท่านั้น
ตัวแปรภาษาทั้งหมดจะถูกเก็บอยู่ในตัวแปร $lng ตัวแปรใดๆที่ขึ้นต้นด้วย $lng[LNG_ สามารถถูกเรียกใช้อัตโนมัติโดย Template ได้โดยที่ไม่จำเป็นต้องเขียนโค้ดเพื่ออ่านตัวแปรนี้ ยกตัวอย่าง ว่าเราต้องการเขียนข้อความใดๆลงบนหน้าเว็บ ซึ่งโดยปกติเราจะเขียนมันลง Template เราสามารถเขียนข้อความนั้นๆในรูปตัวแปรภาษาได้เช่น
[code]<div>{LNG_BLOG_LANGUAGE_DEMO}</div>[/code]
ให้เราเขียนข้อความนี้ลงใน Template ของ Blog และกำหนดข้อความที่ต้องการลงในไฟล์ภาษา
[code=php]$lng[LNG_BLOG_LANGUAGE_DEMO] = 'ตัวอย่างข้อความที่ต้องการ';[/code]
เพียงแค่นี้ ข้อความที่ต้องการก็จะแสดงผลแล้ว
นอกจากนี้เรายังสามารถกำหนดให้เว็บเป็นระบบหลายภาษาได้ง่ายๆ ด้วยการกำหนดตัวแปรภาษาแยกกันแต่ละภาษาเช่น โดยปกติแล้วภาษาที่เราเรียกใช้อยู่ก็คือภาษาไทยตามที่กำหนดไว้ใน config หลัก
[code]// ภาษาที่เรียกใช้
$config[lng] = 'th';[/code]
ซึ่งมันจะไปทำการเรียกใช้ไฟล์ th.php และ th.js โดยอัตโนมัติ ซึ่งหากเราต้องการเปลี่ยนไปเรียกภาษาอื่นเราก็สามารถกำหนดให้มันเรียกไปยังภาษาอื่นได้เช่น
[code]// ภาษาที่เรียกใช้
$config[lng] = 'en';[/code]
และให้เราทำการสร้างไฟล์เพิ่มเติมคือ en.php หรือ en.js (ทุกไฟล์ใน language) โดยสามารถแปลข้อความหรือสำเนาข้อความจากไฟล์ภาษาไทยไปเป็นต้นแบบในการแปลได้ เพียงแค่นี้เราก็จะได้ GCMS ในแบบ multi language แล้ว (ใครที่มีโอกาศได้แปลเป็นภาษาอื่นๆ ช่วยส่งกลับมาให้ผมด้วยก็ดี)
หรือหากต้องการให้เว็บสามารถเปลี่ยนภาษาได้ให้แก้ไข config.php ดังนี้
[code=php]$language = isset($_GET[lng]) ? $_GET[lng] : $_COOKIE[$prefix.'language']; // ภาษาที่ต้องการ
$language = is_file("language/$language.php") ? $language : 'th'; // ตรวจสอบภาษา ถ้าไม่มีให้ใช้ภาษาไทย
setCookie($prefix.'language', $language, time() + 3600 * 24 * 365, '/'); // บันทึกภาษาที่เลือกลง cookie
$config[lng] = "$language";// ภาษาที่เลือก[/code]
แล้วก็สร้างปุ่มเรียกภาษาประมาณนี้
[code]<a href="index.php?lng=th">ไทย</a>[/code]
11 ตค. 2552 09:00 |
0 |
ดู 275 |
