วิธีทำเว็บ 2 ภาษา หรือมากกว่า Multi-language Website
ตัวอย่างการทำงานเว็บหลายภาษา
ดูตัวอย่าง
ดาวน์โหลด Example Codeigniter project
ดาวน์โหลด
ตัวอย่างการทำงานเว็บหลายภาษา
ดูตัวอย่าง
ดาวน์โหลด Example Codeigniter project
ดาวน์โหลด
บทความนี้จะมาอธิบายและแสดงการทำเว็บมากกว่า 1 ภาษา ซึ่งแน่นอนว่าถ้าเว็บเรา
สามารถแสดงเนื้อหาภายในเว็บได้หลายภาษา ก็จะเป็นผลดีต่อผู้ใช้งานเว็บ ที่จะมีมากขึ้น
โดยในบทความนี้จะทดสอบการทำเว็บหลายภาษาโดยใช้ codeigniter framework
ติดตั้ง codeigniter framework
สำหรับวิธีการติดตั้ง ci ท่านสามารถอ่านได้จากบทความนี้ การติดตั้ง codeigniter
ตั้งค่าการใช้งานเบื้องต้น
หลังจากที่เราติดตั้ง ci เสร็จแล้วให้ตั้งค่าต่าง ๆ ตามนี้ครับ
1. สร้าง assets โฟลเด้อสำหรับเก็บไฟล์ img, css, js, font, etc ตัวอย่างโครงสร้าง
หรือดาวน์โหลด assets.zip ได้ที่ ดาวน์โหลดที่นี่
2. เปิดไฟล์ application/config/autoload.php เพิ่มฟังก์ชั่นการใช้งานในส่วนของ url ดังนี้
$autoload['helper'] = array('url');
3. สร้างไฟล์ข้อมูลเก็บภาษา
ในการสร้างไฟล์ข้อมูลเก็บภาษาแต่ละภาษานั้น สำหรับ ci มีกฏเกณฑ์ อยู่ดังนี้ครับ
– ให้สร้างโฟลเด้อใน application/language/english ตามชื่อภาษานั้น
– ชื่อไฟล์ในโฟลเด้อจะต้องลงท้ายด้วย _lang.php เช่น application/language/english/english_lang.php
ตัวอย่างโครงสร้างการสร้างโฟลเด้อและตั้งชื่อไฟล์
3.1 สร้างตัวแปรเก็บข้อมูลแสดงผลแต่ละภาษา แต่ละไฟล์ก็จะได้ข้อมูลออกมาประมาณนี้
application/language/english/english_lang.php
<?php // english_lang.php $lang['content'] = 'Website Multi-language'; ?>
application/language/english/thailand_lang.php
<?php // english_lang.php $lang['content'] = 'เว็บไซต์หลายภาษา'; ?>
application/language/english/japanese_lang.php
<?php // english_lang.php $lang['content'] = 'ウェブサイトの多言語'; ?>
application/language/english/chinese_lang.php
<?php // english_lang.php $lang['content'] = '网站多语言'; ?>
4. สร้าง controller ชื่อว่า Home.php ไว้ที่ application/controllers/home.php
วิธีโหลดใช้งานแต่ละภาษาจะใช้คำสั่งดังนี้ครับ
$this->lang->load(“ชื่อไฟล์”,”ชื่อโฟลเด้อเก็บไฟล์”);
4.1 ชื่อไฟล์คือไฟล์ที่ลงท้ายด้วย _lang.php แต่ไม่ต้องใส่ _lang.php เข้ามาด้วย
4.2 พารามิเตอร์ตัวที่สองคือชื่อโฟลเด้อที่เก็บไฟล์
เพราะฉะนั้นเราจะได้โค๊ดใน Home.php ประมาณนี้
lang->load("english","english"); // โหลดภาษาอังกฤษมาแสดง $this->load->view('home_view'); } }
5. สร้าง view ชื่อว่า home_view.php ไว้ที่ application/views/home_view.php
ในส่วนของ view เวลาเรียกแสดงผลจะใช้คำสั่ง $this->lang->line(“ชื่อตัวแปร”);
ก็จะได้โค๊ด html ออกมาในลักษณะนี้
=$this->lang->line("content"); ?>
ตัวอย่างการทำงานเว็บหลายภาษา
ดูตัวอย่าง
ดาวน์โหลด Example Codeigniter project
ดาวน์โหลด