Rails I18n Textmate bundle extracted from svenfuchs/rails-i18n
Ruby
Pull request Compare This branch is 1 commit ahead, 5 commits behind jaw6:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Commands
Snippets
Support
README.textile
info.plist

README.textile

Rails I18n Textmate bundle

extractd from http://github.com/svenfuchs/rails-i18n

Installation

To install via Git:

mkdir -p ~/Library/Application\ Support/TextMate/Bundles
cd ~/Library/Application\ Support/TextMate/Bundles
git clone git://github.com/martinciu/Rails-I18n.tmbundle.git
osascript -e ‘tell app “TextMate” to reload bundles’

The bundle adds the following commands:

Extract Translation (cmd-shift-e):

  • prompts you for a dot-separated key
  • adds the translation (mapping the dot-separated key to nested yaml keys)
  • replaces the selected string in your source-code with the dot-separated key wrapped into a call to t(your.key), if interpolations are detected within translation, the replacement text will prompt for them.

Look up Translation (cmd-shift-i):

  • Looks up the currently selected key if text is selected
  • If nothing is selected, it will look up all the keys in the currently selected file.

The bundle adds the following tab triggers:

tr:

  • Inserts I18n.translate("") or translate("") based on your context

The following properties are editable:

  • default locale
  • translation file path
  • whether extract inserts the long syntax (I18n.translate) or short syntax (I18n.t)
  • where and if translation changes are logged

Note that Textmate, while active, won’t reload the translations.yml for you if it’s already open. When you give the focus to another application and then go back to Textmate (e.g. with cmd-tab, cmd-tab) it will reload the file. I found it useful to have translations.yml open on a second monitor while extracting translations from my application.

I still have to figure out how to automatically select the next string after this command has run. It works well to just use Textmate’s “Find Next” though:

  • hit cmd-f and give it ("|').*(\1) as a search expression, tell it to use this as a “Regular expression”
  • hit return and it will select the next string
  • use shift-cmd-e to extract that string
  • hit cmd-g to select the next string