I'm writing a survey website where users are asked multiple choice questions.
Designing the database schema is pretty trivial in the case of a single language, but as soon as there can be multiple, the schema becomes fuzzier.
My gut is telling me that I'd have the following tables (with all the nasty bits removed):
questions (id)
choices(id, questionid)
questiontranslations (questionid, languagecode, content)
choicetranslations(choiceid, languagecode, content)
answers(userid, questionid, choiceid)
Now, I know this would work, but I can't help but think that the # of tables is ballooning unnecessarily.
Does anyone have suggestions on different ways of doing this, or ways of improving the approach?
Note: The # of languages is fixed at launch, but may grow over time.