incisto que con base de datos y si, por que no con sessiones sale mas rapida, pero si haces registros donde exista un campo supongamos contenido, este se mostraria en la web segun sea el idioma, y no deberias de crear carpetas y archivos para cada idioma.
mira esta url, la cual es uno de mis clientes:
MasterOjitos
te daras cuenta que cambia el idioma, y lo unico que hago es hacer selects a tablas segun el codigo del idioma actual.
suerte.