Why not create a indexes.TranslatableCharField class that does this
internally? Take the list of languages from settings and upon indexing
loop over the langs, (1) set locale to current iterator value, (2)
render the template, (3) store result as a subfield.
Subfields could be done using a separate SearchIndex where each
language is one field or by dynamically creating fields in the current
SearchIndex.
Then when searching default to using active locale and allow
overriding it with .languages() similarly to how .models() works.
--
Patryk Zawadzki
Why not create a indexes.TranslatableCharField class that does this
internally? Take the list of languages from settings and upon indexing
loop over the langs, (1) set locale to current iterator value, (2)
render the template, (3) store result as a subfield.
I think a new filed type is a perfect solution as only the character
fields are translatable per definition so by introducing a new field
type you don't have to deal with people marking ints and pickles as
translatable.
--
Patryk Zawadzki