i81n

I81n is 'Internationalizaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaation'.

I18n の YAML ファイルを編集するのって面倒ですよね! I81n を使うと(とりあえずは) YAML ファイルに翻訳テキストを書かなくても良くなります!

インストール

次のようにして gem コマンドでインストールすることができます。

gem install i81n

Rails をお使いの際は Gemfile に以下を追記して bundle install を実行してください。

gem 'i81n'

I18n.backend を以下のように設定してください(Rails では config/initializers/i81n.rb 等に書いておくとよいでしょう)。

I18n.backend = I18n::Backend::I81n.new(
  :ignore => /^(helpers\.|activerecord\.|attributes\.|errors\.)/
)

使い方

Rails のビューにメッセージを埋め込む場合、こんな感じで書けます。

<%= t('こんにちは!') %>

サービスを英語対応させたくなった時に翻訳ファイル(en.yml)を書けばいいのです。 その際、翻訳ファイルは以下のようになるでしょう。

en:
  "こんにちは!": "Hello!"

もうちょっと詳しく

以下のような YAML ファイル(ja.yml)があった場合、

---
ja:
  foo: フー

このような出力になります。

require 'i81n'
I18n.backend = I18n::Backend::I81n.new
I18n.config.locale = :ja
I18n.t('foo') #=> 'フー'
I18n.t('バー') #=> 'バー'
I18n.t('%{n}個', :n => 10) #=> '10個'

詳細

I18n は I18n::Backend::Simple を拡張することによって上記の機能を実現しています。

コピーライト

Copyright (c) 2011 jugyo. See LICENSE.txt for further details.