วิธีทำเว็บ 2 ภาษา หรือมากกว่า พร้อมตัวอย่าง

วิธีทำเว็บ 2 ภาษา หรือมากกว่า Multi-language Website

ตัวอย่างการทำงานเว็บหลายภาษา
ดูตัวอย่าง

ดาวน์โหลด Example Codeigniter project
ดาวน์โหลด

บทความนี้จะมาอธิบายและแสดงการทำเว็บมากกว่า 1 ภาษา ซึ่งแน่นอนว่าถ้าเว็บเรา
สามารถแสดงเนื้อหาภายในเว็บได้หลายภาษา ก็จะเป็นผลดีต่อผู้ใช้งานเว็บ ที่จะมีมากขึ้น

โดยในบทความนี้จะทดสอบการทำเว็บหลายภาษาโดยใช้ codeigniter framework

ติดตั้ง codeigniter framework
สำหรับวิธีการติดตั้ง ci ท่านสามารถอ่านได้จากบทความนี้ การติดตั้ง codeigniter

ตั้งค่าการใช้งานเบื้องต้น
หลังจากที่เราติดตั้ง ci เสร็จแล้วให้ตั้งค่าต่าง ๆ ตามนี้ครับ
1. สร้าง assets โฟลเด้อสำหรับเก็บไฟล์ img, css, js, font, etc ตัวอย่างโครงสร้าง
ทำเว็บ 2 ภาษา
หรือดาวน์โหลด 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

ตัวอย่างโครงสร้างการสร้างโฟลเด้อและตั้งชื่อไฟล์
ทำเว็บ 2 ภาษา

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 ออกมาในลักษณะนี้




	


    

lang->line("content"); ?>

ตัวอย่างการทำงานเว็บหลายภาษา
ดูตัวอย่าง

ดาวน์โหลด Example Codeigniter project
ดาวน์โหลด