ไม่ต้องไปยุ่งกับโปรแกรม gettext
หลักการ ก็คือเราต้องสร้าง ruby program ใต้
${RAILS_ROOT}/lang
จะแยกเป็น file ตาม language หรือ รวมทุก lang ไว้ใน file เดียวก็ได้
เนื้อหาใน file จะเป็นดังนี้
Localization.define('th') do |l|
l.store 'yes', 'ตกลง'
l.store 'no', 'ไม่ตกลง'
l.store 'hello world', 'สวัสดีครับ'
end
เวลาใช้ใน view ก็เรียกใช้ผ่าน method
_
<body>
<%= _ 'hello world' %>
</body>
การ switch ภาษา จะทำผ่าน Object Localization
Localization.lang = params[:lang] == nil ? :default : params[:lang]
feature ที่ดูน่าสนใจ อยู่ที่ตรงการ Localization.define
ที่เราสามารถทำอะไรแบบนี้ได้
l.store '(time)', lambda { |t| t.strftime('%H:%M') }
ใน view จะเขียนแบบนี้
<%= _ '(time)', Time.now %>
No comments:
Post a Comment