A012faeaa44311fd38b97905c6f30292

使用 tolk 協助翻譯 rails 程式

2012-05-16 10:09:58 +0800yjchenxRuby on Rails 節點 中發起
最後由 elct96202012-05-16 13:03:23 +0800回應 , 128次閱讀

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

截至 2012-05-16 13:03:23 +0800,共收到 1 條回應
888339de9e7a88688b6acb30d33e66cd
elct9620 1樓, 於2012-05-16 13:03:23 +0800回應

裝好之後跑 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

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊