Tool for Text Extraction from erb/rhtml files for internationalization (i18n) purposes
Ruby CSS
Switch branches/tags
Nothing to show
Latest commit 8db28df Jan 3, 2015
douglasjsellers Merge pull request #26 from Jake0oo0/master
Add support for custom extensions, rewrite with optparse
Failed to load latest commit information.
bin Rewrite CLI executable with optparse Dec 31, 2014
scripts Forgot to chmod +x display syntax tree Apr 19, 2012
tests Added in special treatment of open parens, in some cases they were le… Nov 19, 2014
Gemfile Made it so that all the tests now run under 1.9.3. This included addi… Apr 2, 2012
Gemfile.lock Made it so that all the tests now run under 1.9.3. This included addi… Apr 2, 2012
herbgobbler.gemspec Bumped the gem version Nov 19, 2014

HerbGobbler: Ruby on Rails internationalization (i18n) and localization text extraction tool

HerbGobbler is a software localization tool for Ruby on Rails based websites seeking to translate their website into multiple languages. It aims to assist businesses and localization services with website internationalization. The HerbGobbler enables software internationalization of Ruby on Rails based websites by:

  • Parsing a projects Rails Template Code
  • Extracting the language specific text
  • Combining the text into full sentences for optimal translations
  • Moving the text into an localized datastore (Rails YML files by default)
  • Replace the language specific text in the Rails Template Code with the Rails method calls(t) to retrieve the text in the desired language

By automating the text extraction process in software internationalization, the HerbGobbler increases quality of the final foreign language translation by implementing industry best practices, while at the same time decreasing the number of bugs that normally occur in the time consuming and tedious foreign localization process.

HerbGobbler Turns This

<div class="bullet"> 
  <div class="description"> 
     If you're on an old version of Rubygems
     (before 1.3.6)
  <pre class='sunburst'>Run: $ gem update --system

Into This

<div class="bullet"> 
  <div class="description"> 
    <%= t '.if_you_re_on' %>
  <pre class='sunburst'>$ <%= t '.run_gem_update' %></pre> 

Getting Started

Getting started with the HerbGobbler is easy:

      $ gem install herbgobbler

If you're on an old version of Rubygems (before 1.3.6)

      $ gem update --system

Extract all of the text from your Rails Project

Use the gobble command to extract all the english text from your .erb files and place the extracted text into the RAILS_ROOT/config/locals/en.yml file

      $ gobble i18n -a ~/my/rails/root/

The HerbGobbler is very much beta software. It attempts to implement the best practices in internationalization (i18n) and localization by extracting complete sentences (even when these sentences contain html). If you discover a piece of text that is not being properly extracted, or a pattern of extraction that you think is incorrect, please enter a bug into the system and a patch will be issued.

Experimental TR8N Support

The Herbgobbler also has experimental tr8n support. By running: $ gobble -tr8n -a ~/my/rails/root

The Herbgobbler will rewrite your erb files with tr8n embed (tr) tags. This is a more beta feature than the rest of the Herbgobbler. If you discover any problems please submit a bug through github being sure to include the block of erb that is causing problems.

Command Line Options

HerbGobbler provides several command line options to make text extraction simppler

  • -a / --path : Defines the root of the Rails project
  • -e / --extension : Defines the extension of the files that will be converted, without a preceeding period.
  • -f / --file : Defines a single file to extract text from

Customizing the HerbGobbler

If you are interested in exporting text to a different data store than the default rails i18n format (en.yml), this can be done by implementing a TranslationStore.