How to index translations of one item in Sunspot

I am using Sunspot/Solr to index my Rails website. I index City name by doing the following:

class City < ActiveRecord::Base
  searchable do
    text :name

Now I am internationalizing the whole site, using the Globalize3 gem. It saves translations in another table, and get these translations out using the normal accessors.

From the example here ( they have:

searchable do
  # sorting
  string(:job_title) { title }

  # keyword / fulltext searching
  I18n.available_locales.each do |locale|
    text(("title_" + locale.to_s).to_sym, :default_boost => 2)
      { eval("title_" + locale.to_s) }

So essentially for each locale there is an indexing column in Sunspot, like title_en and title_fr. I am wondering if there is a better approach? (too many columns sounds bad to me)

One alternative I am thinking is to concatenate translations of one item as a single string and put it in another text index column.

Also I was thinking if there is something similar tointeger :ids, :multiple => truefor texts?

So what's a better way to index multiple translations of the same item name?

I implemented single column language index:

  'en' => 'English',
  'fr' => 'Fran├žais'

#inside city model

text :name_alt do
  LANGUAGES.keys.reject{|l| l=='en'}.map do |locale|
    read_attribute(:name, locale:locale)

This uses Rails I18n module and Globalize3. 'read_attribute' is part of Globalize3.

This avoids creating columns per language.

I am not sure whether this is better or the multi column approach.

What Others Are Reading