← Home

Join the release-party: Globalize now ready for Rails 1.2!

What's new?

Of course, it's needless to talk about the jaw-dropping new features of Rails 1.2 as that's been raved about for weeks now :) ... but as far as I18n is concerned the new UTF-8 wrangling ActiveSupport::MultiByte tools are particulary of interest.

But not only that Globalize is now officially ready to join this party with its Globalize for-1.2 release ... there are even more good news about this.

First of all this is the first Globalize release whose development has been guarded by that gruesome awesome beast Cerberus. Yann Lugrin has done a great job in tying it with heavy chains to sit and wait in front of the code repository and bite the bad boys. As you're familiar with the concepts of continuous integration you most probably know how much this is worth.

Secondly, Saimon Moore's awesome, alternative storage mechanism has been incorporated as a regular, alternative way of storing Globalize model translations. Globalize now allows users to switch between the traditional and the new storage model. While Globalize traditionally stored model translations in a separate database table globalize_translations, with Saimons mechanism they now can be stored directly in the models database tables. This carries advantages with respect to the several ActiveRecord options that with the new model can all be used again.

Thirdly, Saimon has added a new feature called namespaced ViewTranslations (more on this soon) which allow you to key your ViewTranslations identically within different namespaces. This particular change requires a minor change to the database scheme. A Rake task included that will apply this for you (see below for details).

Last but not lease, of course, several bugs have been fixed and stuff been cleaned up.

Where is it?

Like before, you can install Globalize from the Globalize Subversion repository. There are the following three versions:

  • for-1.2: svn://svn.globalize-rails.org/globalize/branches/for-1.2
  • for-1.1: svn://svn.globalize-rails.org/globalize/branches/for-1.1
  • edge: svn://svn.globalize-rails.org/globalize/trunk

As the naming suggests, for-1.2 is for Rails 1.2. for-1.1 is for Rails 1.1. And egde/trunk is for those of you who are feeling really adventurous. We are trying to keep the repository trunk working with the Rails edge development, but sometimes it's hard to keep things in sync.

Anything I need to take care of?

Yes. The newly added namespaced ViewTranslations feature requires an additional column to be added to one of the Globalize database tables.

Just install the code and run the included Rake task for an easy upgrade:

rake globalize:upgrade_schema_to_1_dot_2

This really just adds a string column namespace to the table globalize_translations. So, nothing to be scared of :)

What's to come?

There are some exciting new features in the oven (e.g. a standard globalize method for a supported languages mechanism, a translatable strings extractor tool, globalizing more of Rails) ... nothing really done yet, but all enough reason to stay tuned :) Also, there are some remaining bugs to clean up.

Generally speaking, like before, Globalize will provide bug-fix support for the releases for-1.1 and for-1.2, while new features will go into trunk.

Talk back!

Please feel free to ask your questions and present your ideas! As always your feedback is very much appreciated. Here are some ways to get in touch with the Globalize community:

  • Register to the Globalize users mailinglist. This is most probably the quickest way to get your questions answered.
  • File bugs and feature requests in the Globalize Trac (you'll need to register and login). This is most probably the safest way to not get lost :)
  • Add your tips and hints to the Globalize wiki. This is most probably the most durable way to share your experiences.
  • Also feel free to use the comments or write me an email.