rails-inter-activerecord
หลังจากที่เมื่อวานได้มาเขียนเรื่องการทำ muti lang ในส่วนของหน้าเว็บไปแล้วในส่วต่อไปจะเป็นการแก้ให้ model ของเราสามารถแสดง error เป็นภาษาไทยได้ โดยลักษณะการทำนั้นเหมือนกันการทำในส่วนของการทำ muti lang ในส่วนของ view โดยเราสามารแปลโมเดลได้เลยครับ โดยที่ไม่ต้องไปแปลในตัวของ model โดยการใช้ method human แล้ว

model.th.yml

1
2
3
4
5
6
7
8
9
th:
  activerecord:
    models:
      account: ผู้ใช้งาน
      bill_history: ประวัติการออกบิล
      bill: รายการบิล
      branch_config: รายการการตั้งค่า
      branch: สาขา
      credit: รายการเครดิต

โดยในส่วนของ
th: บอกให้รู้ว่าเป็นภาษาไทยครับ
models: จะเป็นส่วนของการแปลชื่อโมเดลทั้งหมดครับ
ในส่วนของการแปล attribute ของแต่ละโมเดลให้เพิ่มต่อไปด้านล่างครับ

1
2
3
4
5
6
7
8
9
     attributes:
        account:
          username: ชื่อผู้ใช้งาน
          display_name: ชื่อแสดง
          password: รหัสผ่าน
          password_confirmation: ยืนยันรหัสผ่าน
        bill_history:
          bill_id: หมายเลขบิล
          on_date: วันที่

โดย ในส่วนของ account: จะเป็นการแปลชื่อ attribute ของตารางเราครับ
สำหรับการแปลในส่วนของข้อความ error ต่างๆ สามารถทำการแปลเหมือนกันครับแต่เพื่อความรวดเร็วคงต้องแนะนำที่มีการแปลให้ แล้วครับ โดยเป็นการแปลทั้งเวลา สกุลเงิน รวมถึง error ในส่วนของ active record ให้แล้วครับ โดยหากท่านต้องการภาษาอื่นให้ลองหาใน http://github.com/svenfuchs/rails-i18n/tree/master/rails แต่สำหรับภาษาไทยผมโหลดมาใช้แล้วครับ th.rb โดยโครงสร้างไม่ได้เขียนเป็น yml นะครับ

rails-inter-activerecord-test