Recommendation for separating bilingual contents


Is there any recommended way to separate the contents for different
languages e.g. English and French?
Especially, when the content is added by the user separately in
English and French for the same one topic, how do you recommend to
structure models and store them in database?
I want to keep the search for the content simple also.

I have been doing it in my own way. But I think it's time to follow
the best practices if there is any.

Thank you.

To be able to help you should be more specific about what the content
is and how it is differ in different languages.


Thank you for your reply.

The content is written by administration users both in English and
So they are not direct translation from each other.
It is associated with an effective date.

I don't want to duplicate the effective date for English content and
French content because it is identical.
But I don't want to use joins much because I don't want to deal with a
problem with search and tagging capability.

So I would like to know if there are best practices in this matter.

Thank you.

Best practices are guidelines to adequate solutions and as such can
vary from one particular issue to another.
I'm not familiar with any of them concerning the multilingual issues
even I have build some multi language applications.
My rule of thumb is to have as less as possible redundant informations
that are not language dependent.
In you case you can split content to two parts. One that is language
dependent and the common one.
If the content must be present even if there is non in selected
language the two strategies can be applied: show content in default
language or show the error message.

You can look at some rails plug-ins like globalite (
mattetti/globalite/tree/master) or Gloc (
gloc/) and combine it with your own solution.

The internationalization plug-ins list can be find at

Thank you, Dejan,

I agree with your rule of thumb.
I will keep that in mind.

Thank you for your advice.