การทำ Localized ด้วย CI by

31
Jan
0

ใน CI จะมี Class Language ให้ใช้กันอยู่แล้วนะครับวิธีใช้ก็แสนจะง่ายดาย มั่กมั่ก เรามาเริ่มกันเลยดีกว่า

ก่อนอื่นเรามารู้จักกับ Language File กันก่อนนะครับ Language File คือ ไฟล์ที่เก็บคำแปลของคำต่างๆในภาษาไว้เพื่อให้ Class Language นำมาแทนที่คำในภาษาอังกฤษนั่นเอง โดย Language File นั้นจะมีที่ตั้งอยู่ที่ Folder Language ครับ โดยเราต้องสร้าง Folder ใน Folder Language ไว้ก่อนโดยที่ชื่อ Folder ที่สร้างใหม่นี้เราจะต้องนำมาใช้เพื่อโหลดข้อมูลจาก Language File ที่เราจะสร้างไว้ด้วย ดังนั้นแนะนำให้ใช้ชื่อภาษาชื่อเต็มนะครับ จะได้ไม่สับสน โดยใน Folder Language จะมี Folder ชื่อ english อยู่แล้วดังนั้นหากเราจะทำ Localized ภาษาไทยคู่กับภาษาอังกฤษก็สร้าง Folder ชื่อ thai เอาไว้ใน Folder Language เลยนะครับ และสร้างไฟล์ PHP ที่มีชื่อต่อท้ายด้วย _lang.php นะครับ เช่น test_lang.php

เมื่อสร้าง Language File เสร็จแล้วเรามาเขียนข้อมูลให้ไฟล์ test_lang.php กันดีกว่า โดยจะมีโครงสร้างตัวแปรดังนี้
$lang['language_key'] = “The actual message to be shown”;
ยกตัวอย่าง
ในไฟล์ test_lang.php ใน Folder english เราก็พิมไปว่า
$lang['test'] = ‘test’;
และในไฟล์ test_lang.php ใน Folder thai เราก็พิมไปว่า
$lang['test'] = ‘ทดสอบ’;

ต่อไปในจุดที่เราจะใช้ Localized เราก็ต้อง load Language File ขึ้นมาก่อนด้วยคำสั่ง $this->lang->load(‘filename’, ‘language’); จากตัวอย่างเราก็ต้องเป็นแบบนี้ $this->lang->load(‘test’, ‘thai’);

ต่อมาด้วยการโหลด helper ด้วยคำสั่ง $this->load->helper(‘language’);

ถึงตอนนี้เราก็พร้อมกันแล้วที่จะเรียกใช้ Class Language ด้วยคำสั่งนี้ lang(‘language_key’); เช่น echo lang(‘test’); ในตอนนี้หากเราโหลด Language File ภาษาไทยผลที่ได้คือคำว่า ทดสอบ นั่นเอง

มาถึงการใช้ประโยชน์จริงๆกันบ้างยกตัวอย่าง ถ้าเราทำ web ที่มีปุ่มเปลี่ยนภาษา ไว้หลายภาษา เช่น ไทย อังกฤษ เวียดนาม จีน ฝรั่งเศส เป็นต้น เมื่อ ผู้ใช้ กดปุ่มเปลี่ยนภาษา เราก็แค่บันทึกลงในฐานข้อมูลว่าผู้ใช้คนนี้ใช้ภาษาใดเป็นภาษาพื้นฐาน เมื่อผู้ใช้เข้ามาอีกครั้งเราก็เลือกภาษาให้จากฐานข้อมูลที่เราบันทึกไว้นั่นเอง

Enjoy this article?

Consider subscribing to our RSS feed!

ไม่มีความเห็น

ยังไม่มีความเห็น

ใส่ความเห็น

RSS feed for comments on this post

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน