views:

225

answers:

1

Sometimes it would be really handy to have the Rails localization files available in JavaScript. Same is true for for the routes helpers.

I found these two plugins which are exactly doing this:

My questions:

  1. Are there any other plugins / gems doing similar things like the two above?
  2. What's the right approach in Rails? Meta tag? Additional data- attributes?

Thanks for any input!

+1  A: 

I use the first plugin you listed (i18n-js) and recommend it highly. It does exactly what you are asking -- make localizations available to javascript -- with very little fuss.

At its core it does two things:

  • autogenerates a messages.js file from your localization files
  • provides a Javascript API very similar to the Rails I18n API.

You include a <script> tag for messages.js and then in your other .js files you can just write I18n.t('some.i18n.path', {interpolation_key: "value", ...}), which will return the translated string.

It also provides some formatting helpers, like for adding commas to numerals. And the author is very responsive to questions and bug reports.

I'm not sure what you are getting at with meta tags or data- attributes. I haven't needed those for internationalization.

John
Thanks for your comment!
StefanS