Well, depends if you're using client-side language or server-side language to implement the language interface. Server-side is 'easiest' in my opinion. I regularly develop bilingual and the odd multilingual sites.
You have a few options:
1. You can use a CMS like Joomla and implement Joomfish. It's a little awkward, but tends to be quite easy after the initial fiddle.
2. gettext - use po files - this is really awkward and I don't suggest this unless you know what you're doing.
3. language (array) files - probably the easiest DIY method. I find this easiest when using a template engine like RainTPL or Smarty.
A simple method:
in a folder called 'lang', have the individual language files of your choice: