Lo mejor es hacer la página una sola vez y, después, aislar los textos en archivos a parte. Luego, replicas los archivos con los textos por cada idioma y los llamas dinámicamente.
Yo personalmente declaro los textos como variables y las llamo usando PHP, Cold Fusion, ASP o el lenguaje que corresponda.
Lo que dice Drognan:
Cita: Lo más utilizado es la opción de traducción que tienen buscadores como google o altavista.
Es algo totalmente absurdo e inútil. Si un usuario no comprende el idioma en qué está tu web y quiere enterarse un poco de lo que va, ya se ocupará él de hacer una "Google Translation". Pero si tú pones en tu web un enlace a una versión en inglés (o cualquier otro idioma), los usuarios que sigan ese enlace para ver la versión en inglés no quieren ver una Google Translation, quieren ver una traducción de verdad, algo que puedan leer y comprender sin problemas.