This time I'll go through the process if you're building your site on WordPress.
Multi-Lingual Websites on WordPress
With WordPress you have 3 options for creating a dual- or multi-language website:
First option - two languages on the same page
The first and simplest option is to have both languages on the same page, with your client or a colleague producing the second language version of the content for you to insert.
Even if your second language doesn't use the Roman alphabet (Chinese, for example), you can still paste the translations into all the key places you would need to: your page content, page title, navigation/menu bar tabs and text widgets
This can look a bit messy, especially in the menu tabs, and it does not work well on long pages. But if you're living in a country where dual language publications are common (as they are here in Hong Kong) readers are quite used to seeing two languages on the same page.
It works better if your pages are short, but even on a long page you can place anchor links to the second language section.
The only thing you need to do within WordPress to ensure this works properly is to use UTF-8 encoding.
UTF-8 is the WordPress default so you have nothing to worry about unless you've changed it or if you installed WordPress with one of the 1-click installation scripts - some of these assign a different encoding standard.
If you're concerned, you can check it on the Settings > Reading screen (the last field before the 'Save Changes' button).
The advantages of this option are that you're not using a plugin and the quality of the translation will be good, because it's written by a human.
Second Option - use an auto-translation plugin
There are several plugins that use the various automated translation services and enable you to add a language switcher to your site, which gives visitors the option to view the site entirely in the language of their choice.
This is an easy option, and simple to implement. The chief downside, though, is that the translations are generally poor. At the very least the wording and grammar are error-ridden and, at worst, they can alter the meaning of key sentences or phrases.
However, if you're updating your site regularly and don't have the option of a human to do your translations, the auto translate plugins are a useful way of providing language options for your visitors.
Here are some auto-translation plugins:
GTS Translation. (Offers a post-editing translation service)
Microsoft AJAX translation.
Third option: WPML
The third option is to use the WPML plugin, which is a premium (paid) plugin.
This, to my mind, is the best option if high quality translations are important, and here's why: while this plugin does offer machine translations, it also enables you to manage a pool of professional human translators. As a result, the quality of the translations is good.
For example, if a visitor leaves a blog comment in their language, WPML will create a machine translation to enable you to understand the comment. You can then reply (in your own language) and assign your reply to a human translator so it can be properly translated back before it's published.
Once your translated page is published WPML will present whichever version your site visitors want to see through the language switcher options.
The strength of WPML lies in the way it enables you to assign and manage translation projects to different people.
They also have a pool of translators and you can use the WPML API to route your translation projects to the pool where it will be assigned to one of the translators and routed back to your admin screen when the translation is complete so you can publish it.
This plugin offers the best of both worlds: high quality translations along with language switcher options to allow site visitors to choose their preferred language, and the ability for you to converse with your foreign language visitors in their language.
The downside is the cost, although if you're running a large site, with translators, the cost would be well worth it for the ease of managing different language versions and the quality of the translations.
You can find the WPML plugin here.
Creating multiple-language websites with WordPress is straightforward, using one of the methods I've set out above.
The best quality translations are always going to be those done by qualified humans but, as the auto-translation services improve, even the quality of translations done with those plugins will become progressively better.