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