Translator¶ ↑
<img src=“https://travis-ci.org/hzamani/translator.png” />
This is a rails plugin to translate models data.
Requirements¶ ↑
This plugin uses postgres hstore, so postgres is a must.
How to Install¶ ↑
Install the gem
gem install rails-translator
add
gem 'activerecord-postgres-hstore' gem 'rails-translator'
to your Gemfile and run bundler
bundle install
How to Use¶ ↑
First be sure to install postgres hstore extension, by
rails g hstore:setup rake db:migrate
Generate your models but use hstore
for translatable string and text fields.
rails g model Post title:hstore content:hstore published_at:datatime
optionally add hstore_index for hstore columns:
# migration file add_hstore_index :posts, :title add_hstore_index :posts, :content
tell which fields do you want to have translations:
class Post < ActiveRecord::Base translates :title, :content # ... end
now post has locale based attribute accessors:
I18n.locale = :en p = Post.create title: 'first post', content: 'This is my first post.' I18n.locale = :fa p.title = ''