Globalize3 is pretty coll, yes, but it can lead in some trouble for bigger projects.
Mostly because it creates one table per type of data you want to translate. I've saw a project with more than 35 (!) translation tables, which complexify hugely the maintenance.
Imagine just the translation admin system for this project. It's some complexity you can avoid also.
The idea of using serialization is pretty good, I would recommend it with postgres and jsonb (or hstore). It will still allow you to do some full text search:
MyModel.where("name @> ?", {fr: "NomFrancais"}.to_json)
The operator @>
means "it contains". The search is using full text optimizations so the cost is not so high. You can get here more information:
http://www.postgresql.org/docs/9.4/static/datatype-json.html
Otherwise I've made a gem, which is still not mature, but it allows to have all the i18n of database in the same table: https://github.com/anykeyh/rails_db_localize
The advantages here is you can build easily a translation interface, and it completely overlaying your project (no schema update when you want to translate a field).
Translation is always painful in my opinion, and should never underestimated :)
Hope it helps!