Según el número de cosas que quieras traducir y en cuantos sitios, otra opción es tener un fichero con todas las frases de cada idioma, y cargar uno u otro según un código de idioma, me explico, el contenido del fichero podría ser una cosa así:
[es-01]
Productos
Comprar
Carro de compra
[eng-02]
Products
Buy
Shopping Cart
[fran-03]
Les productés
gastar dineré
Carré de la compré
Etc
Al cargar la página, tienes una función a la que le pasas el código de idioma, y que te cargue una estructura de datos con las frases en el idioma que sea.
Después en la página, nunca pintas texto literal directamente, usas siempre los datos donde se cargan las frases.
Luego para añadir futuros idiomas, no tienes que cambiar nada, solo añadir un código más al fichero, y la traducción de las frases en el nuevo idioma.
El fichero y el formato es un ejemplo, lo puedes complicar todo lo que quieras, desde hacerlo con xml, hasta usar una base de datos.