讓 Ruby on Rails 軟件國際化

, , , , at February 20th, 2007 by 小影

作為 Web 的 Framework ,國際化 (Internationalization, i18n) 是不可以不考慮的問題。可是 Ruby on Rails 仍未有如 Java Resource Bundle 的在語言層次上支援i18n。如果想要 i18n 又不想自行編寫程,可用的方案有 Ruby 的 Gettext 或 Rails 的 Globalize。兩者都是很強大的plugin,它們甚至支援 data model 層面的i18n。 可是在我的工作中我可不需要這等威力強大的工具,我只想為我簡單的軟件的輸出加入多語言的功能。我發現 th0fu 在 他的 blog mir.aculo.us 中發表了一個非常簡單但功能強大的 Localization 方案,它的優點包括: 細小,只用一頁程式就為 Rails 加入 l10n 支援。 簡單,它的做法是 extend 了 Object ,為它加入新的方法。使用它作l10n很簡單,只需要設定了語言,再把原本的字串 "blah"改為用 _("blah") 或 (在rhtml中) <%=_ ...