Forum Moderators: phranque
The website I'm working on now is a slightly bigger, and will need to have some sort of CMS, but only for various sections on the site, such as news sections etc.
I can think of a couple way of doing this, but would want to hear from others about their experiences they had.
I'm more inclined to create a Full DB driven site which means all my labels and content will live in the database (I understand the performance issue, with this approach).
Another way of doing this is to setup a basic template for each language with appropriate images and labels. The content can be populated from DB or text files using includes and arrays. The CMS would just write a text/xml file which will be parsed on retrieval.
The second solution seems more difficult to setup, but easier to maintain and faster. But the fist solution would be slower (which shouldn't be a problem for a site with 2-5k visits a month)
We actually use a hodgepodge of techniques- DB, templates, flat files, and .txt files. Basically, we have one template for each page which pulls the appropriate info for the DB, flat files, and .txt files depending on the user's language. And language-related graphics (e.g., graphic titles, etc.) are also named according to their respective language (life tite1-e.gif, title2-j.gif, etc.).
If you are concerned about search engine rankings then current best practice would be to place different languages on different domains. Depending on the languages used it may be advisable to consider local hosting of the site as well. Normally either a ccTLD or local hosting in the target country is sufficient for the SEs to determine the local focus of your site. You don't necessarily have to do both.