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:

Extractor From To
HtmlTextExtractor <b>Hello</b> <b><%=t(:text_hello)%></b>
HtmlAttrExtractor <input type="submit" value="Back"/> <input type="submit" value="<%=t(:label_back)"/>
ErbHelperExtractor link_to('Login'...) link_to (t(:login))

Introduction Blog at: Get your application ready for I18N


gem install ready_for_i18n

Hosed at

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 the target path is missing, then ready_for_i18n will do a Dry run and only generate 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')
   --dot Generate a structured dictionary file and support `Lazy` Lookup of Rails > 2.3


  • 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.

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.