โดย แสงเดือน จันทร์ใหม่ – 14 มิถุนายน 2558
Rails Translation คืออะไร
Translation (Rails Internationalization (I18n) API) คือ Gem ตัวหนึ่งของ Ruby ซึ่งจะติดตั้งมาให้อยู่แล้ว โดยที่เราไม่ต้องติดตั้งเองเพิ่มเติม โดย Rails Translation ทำหน้าที่ในการช่วยจัดการให้ application มีการแสดงผลได้หลายภาษา แม้จะไม่ต้องติดตั้ง Gem เพิ่มเติม แต่ก่อนจะใช้งาน Translation ได้ต้องมั่นใจว่า application support I18n
Rails Translation ใช้งานอย่างไร
การใช้งาน Translation มีส่วนที่สำคัญ 3 ส่วน คือ
- ส่วนสำหรับกำหนดค่าในการแสดงผลของแต่ละภาษา หรือถือเป็น dictionary สำหรับการแปลภาษานั่นเอง
ประกอบด้วยไฟล์ .yml ซึ่งวางไว้ใน config/locales โดยชื่อไฟล์เป็นชื่อของภาษาเพื่อเรียกใช้งานได้ง่าย ภายในไฟล์ประกอบด้วย key ของภาษา แล้วตามด้วย key และค่า ของ text ที่จะใช้แสดงผลในแต่ละภาษา
- ส่วนสำหรับการนำค่าไปแสดงผลในรูปแบบต่างๆ
สามารถเรียกใช้งานได้ผ่าน controller หรือ view โดยเรียกใช้ key ของค่าที่จะแสดงผลด้วยฟังก์ชั่น t
- ส่วนสำหรับกำหนดภาษาที่ใช้ในการแสดงผล
สำหรับกำหนดว่า application จะแสดงผลด้วยภาษาอะไร ทั้งนี้อยู่ที่การจัดการของโปรแกรมเมอร์เอง ซึ่งจะยกตัวอย่างเป็นการกำหนดโดยการรับค่าภาษามาเป็น params
จากตัวอย่างคือกำหนดให้ภาษาแสดงผลเป็นค่า params ที่รับมา โดยถ้าไม่มีค่า params ก็จะกำหนดเป็นค่า default
โดยจากตัวอย่างสามารถแสดงผลได้ดังนี้
Rails Translation ดีอย่างไร
- ทำให้ application สามารถแสดงผลได้กี่ภาษาก็ได้
- ช่วยจัดการการกำหนดภาษาสำหรับแสดงผลได้ง่าย
- สามารถกำหนดวิธีการตั้งค่าภาษาในการแสดงผลได้หลายวิธี
รายละเอียดเพิ่มเติมสามารถศึกษาได้จาก