Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

..
Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .rspec
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 r18n-rails-api.gemspec
README.md

R18n Rails API

Rails I18n compatibility for R18n:

  • filters to work with named variables in Rails translation format;
  • R18n loader for Rails I18n translation format;
  • R18n backend.

How To

Variables

After require-ing r18n-rails-api you can use named variables in all translations:

greeting: "Hi, %{name}"
users: !!pl
  1: One user
  n: %{count} users
require 'r18n-rails-api'

i18n.greeting(:name => 'John') #=> "Hi, John"
i18n.users(:count => 5)        #=> "5 users"

Rails Translations

You can use R18n::Loader::Rails to load translations from I18n.load_path:

i18n/en.yml:

en:
  posts:
    one: One post
    many: %{count} posts

example.rb:

require 'r18n-rails-api'

I18n.load_path = ['i18n/en.yml']
i18n = R18n::I18n.new('en', R18n::Loader::Rails)

i18n.posts(:count => 5) #=> "5 posts"

Backend

You can use R18n as a backend for Rails I18n:

require 'r18n-rails-api'

R18n.set('en', 'path/to/translation')
I18n.backend = R18n::Backend

I18n.l Time.now, :format => :full #=> "6th of December, 2009 22:44"
I18n.t :greeting, :name => 'John' #=> "Hi, John"
I18n.t :users, :count => 5        #=> "5 users"

R18n Features

  • Nice Ruby-style syntax.
  • Filters.
  • Flexible locales.
  • Custom translations loaders.
  • Translation support for any classes.
  • Time and number localization.
  • Several user languages support.

License

R18n is licensed under the GNU Lesser General Public License version 3. You can read it in LICENSE file or in http://www.gnu.org/licenses/lgpl.html.

Author

Andrey “A.I.” Sitnik andrey@sitnik.ru

Something went wrong with that request. Please try again.