I am creating a user content website similar to yelp. Site will support multi language in 15 different languages. Need some advice on storing system content, that is:
- Page content (all the default page text and menu items)
- Page attributes (Title bar, meta tags like keywords, description, etc)
- Email content (Subject, header, footer - both html and text versions)
For performance purpose, I feel only 1 table is to be used for all of this with colunms like: ID, Eng, Fr, Es, Gr,... where each column is a language and ID is the keyword used to identify the word. Based on user's language session it will pull in the matching words to load.
QUESTIONS:
- Will this design scale as system content increases to thousands of pages?
- Easy to edit text?
- Performance impact?
- Any better designs out there based on this needs?
- Any other type of system content do i need to maintain?
- Also for text like page title bar which are dynamic - like on the profile page it will be "User's full name - Site name) all those can be done at DB or code level?
- Biggest concern - the lookup values such as city names, category names, etc. they reside in their own lookup table. So to translate them do i add language columns to those tables or cpy these lookup values to the content table only?
Platform: PHP / MySQL