Most probably dead
“Multilingual is a project by Per Wigren that does not seem to have been in active development for some time. Globalize took many ideas from Multilingual and was at one early stage called “Multilingual”, but the two projects have little in common now.” (Josh Harvey)
| feature | Globalize | Ruby-GetText-Package | Localize | GLoc | Localization Simplified | Ri18n | Simple Localization | ActiveCulture |
| type | plugin | gem library | plugin | plugin | plugin | gem/plugin | plugin | plugin |
| version | edge | 1.90.0 | ? | 1.1 | 0.9 | ? | 2.3.3 | 0.1 |
| Last Updated | Dec. 2007 | Feb. 2008 | Oct. 2005 | Feb. 2007 | Jan. 2008 | May. 2005 | Jan 2008 | Feb 2008 |
| Rails 1.1 ready | yes | yes | yes | yes | yes | ? | yes | no |
| Rails 1.2 ready | yes | yes | ? | yes | yes | ? | yes | no more |
| Rails 2.x ready | 2.0.1 | yes | yes | ? | ? | ? | yes | yes |
| JRuby 1.1 ready | ? | yes | ? | ? | ? | ? | ? | ? |
| Currently supported locales4 | 7599 languages and 239 countries | bs, ca, cs, de, el, en, eo, es, et, fr, hr, it, ja, ko, nb, nl, pt_BR, ru, sv, vi, zh(zh_CN), zh_TW | ? | ? | da, de, en, se, fr, ca_fr, cf, fi, it, ko, nl, no, pt, ru, se, sr (+ swedish chef and pirate talk) | ? | de, en, nl, fr | en, ru, uk |
| L10n of rails views | yes | yes | ? | yes | no (not needed) | ? | yes | yes |
| L10n of rails error messages | most | yes | no | most | yes | ? | yes | yes |
| L10n of rails models and attributes | ? | yes | ? | no, maybe soon | partly7 | ? | yes | yes |
| L10n of date formats | yes | yes13 | yes | yes | yes | ? | yes | yes |
| L10n of numbers | yes | yes13 | yes | no | yes | ? | yes | yes |
| L10n of rails helpers2 | yes (except for to_sentence, Time#to_formatted_s, Date#to_formatted_s, date_select) | yes3 | no | yes (except for countries, time-zones, to_sentence ) | yes | ? | yes | yes |
| Translatable model data | yes | yes9 | ? | no | no | ? | no | no |
| Support for multi-lingual content in same view | yes | yes | ? | yes | no | ? | yes | yes |
| Extract strings automaticaly | no1 | yes | yes | no | no (not needed) | ? | no | no |
| Stored messages in | DB | file (.po) | file(.rb) | file(.yml) | file(.rb) | ? | file(.yml) | files(.yml) |
| Support tools to maintain | rake for db setup/cleanup | yes(as rake task, and others) [14] | ? | yes | no | ? | no | none |
| Multi textdomain | yes | yes | ? | yes | no | ? | ? | yes |
| Plural/Singular messages | yes | yes5 | yes | yes5 | yes | ? | yes | yes5 |
| Auto finding the client locale | ? | yes | ? | yes | no | ? | no | no |
| Caching in memory | yes | yes | ? | yes | yes | ? | yes | yes |
| Page Caching | ? | no | ? | ? | ? | ? | ? | no |
| Action Caching | ? | yes | ? | ? | ? | ? | ? | no |
| Fragment Caching | ? | yes | ? | ? | ? | ? | ? | no |
| Work without DB | no | yes | ? | yes | yes | ? | yes | yes |
| Work without Rails | no | yes | ? | yes | no | yes | no | yes |
| App still works without plugin/gem | no | yes6 | no | no | yes | yes | yes10 | no |
| Localized values can be other formats such as Procs | ? | no | ? | yes (1.2 onwards) | no | ? | no | yes |
| Scaffolding | ? | yes8 | ? | ? | ? | ? | no | no |
| GetText based | no | yes | no | no | no | yes | no | no |
| DB dependency | PostgreSQL, MySQL, Sqlite3 and Oracle | no | no | no | no | ? | no | no |
| Haml l10n | ? | yes11 | ? | ? | ? | ? | no | ? |
| ActiveScaffold l10n | ? | yes12 | ? | ? | ? | ? | ? | ? |
| Documentation | good (wiki) | excellent! (Tutorials, complete Rdocs) | scarce | good (complete Rdocs) | good | good (complete Rdocs) | good (detailed documentation, complete RDocs) | evolving (wiki) |
| License | MIT | Ruby’s | ? | MIT | MIT | GPL | MIT | MIT |
1 Stores untranslated text to database dynamically.
2 select_date(), distance_of_time_in_words(), Date.to_formatted_s, Time.to_formatted_s, Number.to_currency , etc.
3 distance_of_time_in_words() only
4 Have the locale data in the package(plugin/library).
5 Pluralization rules definable by translator so langs with complicated pluralization rules like Russian work too
6 To make your app work without Ruby-GetText-Package:
See: http://www.yotabanana.com/hiki/ruby-gettext-howto-rails.html#Make+Ruby-GetText+as+an+option+of+your+app
7 Localization/translation of models provided via Rails’ standard Inflector mechanism
8 With GettextScaffold plugin
http://rubyforge.org/projects/gettextscaffold
fn9.
$ ruby script/plugin install svn://rubyforge.org/var/svn/gettextscaffold/gettext_scaffold
$ rake script/generate gettext_scaffold foo
9 With “Act as Translatable plugin”
http://blog.wireless.org.ua/articles/2006/10/30/acts-as-translatable-ruby-on-rails-plugin
10 Some extended features can not be used to not break the application without the plugin.
11 Haml Parsing for Ruby-GetText
http://blog.teamschnitzel.com/2007/05/14/haml-parsing-for-ruby-gettext/
12 ActiveScaffold Localization
http://wiki.activescaffold.com/wiki/published/Integrating+Ruby-GetText
13 Gettext Localize Plugin
http://gettextlocalize.rubyforge.org/
14 Utitlities for GetText families to maintain translation files.