A handy tool helping transfer your local Rails project to an i18n one.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 23 commits ahead, 38 commits behind zigzag:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Ready_for_i18n is handy tool helping you in the first step of getting your local Rails project ready for I18N.

It will automatically extract hard-coded text from your ERB view file, then choose a proper key and replace them with the I18n.translate method.

Currently three extractors are available:

* HtmlTextExtractor will scan all HTML text nodes in you view files, like <b>Hello</b> then replace it with <b><%=t(:text_hello)%></b>.
* HtmlAttrExtractor will scan all visible HTML attribute in you view files, like <input type="submit" value="Back"> then replace it with <input type="submit" value="<%=t(:label_back)">.
* ErbHelperExtractor will scan all the text in helper methods like link_to('Login'...) and replace with link_to (t(:login)).

Introduction Blog at: zigzag.github.com/2009/12/17/get-your-local-rails-application-ready-for-i18n.html


gem install ready_for_i18n

Hosed at www.gemcutter.org/gems/ready_for_i18n

Basic Command Line Usage:

ready_for_i18n <path to ERB source files> [target path]

Your erb files in source path will be transformed(i18n_ready) and copy to target file path. If target path is missing, then ready_for_i18n will do a Dry run and only generated the locale file.

A locale file will be output to STDOUT,which you can redirect to file like

ready_for_i18n <path to ERB source files> [target path] > /temp/en.yml

Using the following options:

--locale [LOCALE]            Generating for the specified locale (default locale 'en')
--ext [EXTENSION]            The file extension name of your views(default '.html.erb')


  • This tool is used based on the most “conventional” way of HTML and ERB. But I can not guarantee all the text will be extracted correctly.Create an issue in this github project page if you found some thing miss.

  • Only tested when the local language is English. Other languages support is in the TODO list.

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don't break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.


Copyright © 2009 zigzag. See LICENSE for details.