使用 tolk 協助翻譯 rails 程式
Tolk (http://github.com/tolk/tolk) 讓你輕鬆翻譯 Rails 的內容,然後轉成 yml 直接使用。
首先在 Gemfile 中加入:
group :development do
gem 'tolk'
end
Tolk 只有在發展時會用到,所以設定為 development 的 gem。再來設定 database:
rake tolk:setup
在 config/routes.rb 加入 routes
if Rails.env.development?
mount Tolk::Engine => '/tolk'
end
tolk 內定由 :en 為主,然後翻譯成其他語言。個人習慣以 :zh-TW 為主,再翻譯成其他語言。如此在發展過程中比較容易發現沒有翻譯到地方。所以加入 config/initializers/tolk.rb
if Rails.env.development?
Tolk::Locale.primary_locale_name = 'zh-TW'
end
加入已經翻譯好的內容:
rake tolk:import
最後啟動 Rails 程式,連結到 http://localhost:3000/tolk 看看。這時會列出所有的翻譯。等翻譯完成後,執行
rake tolk:dump_all
這時在 config/locales/en.yml 就有一個翻譯的內容了。比較大的缺點是 tolk 把其他 gem 的翻譯也納進來。雖然沒有壞處,但使得翻譯比較零亂就是。 以後如有新的翻譯,則用
rake tolk:sync
在 http://localhost:3000/tolk 更新後再輸出:
rake tolk:dump_all
** 同步發表在 http://blog.berylliumwork.com/2012/05/tolk-rails.html
裝好之後跑 rake tolk:import 會出現 Locale file /Users/elct9620/Documents/Aptana Studio 3 Workspace/moho.com/config/locales/devise.yml does not exists
無視跑 rake tolk:dump_all 之後卻發現 devise 也被當作一種語言了
---
看起來好像還不能分辨 devise.zh-TW.yml 這類檔名,只能分辨 zh-TW.yml , zh-CN.yml 這樣……
不過 tolk/locale/zh-cn 卻一直不能開 Orz