we are using this approach:
all the texts are stored in a table:
text:
id primary key
id_language primary key (holds iso language codes)
text
so, for example we can store a text in english and german:
ID: 45
ID_LANGUAGE: ENG
TEXT: who's there
ID: 45
ID_LANGUAGE: GER
TEXT: wer ist da
when the user enters and chooses his language, a cookie (or session var.) named $LANGUAGE is set. it contains the ISO code, eg: GER for German.
include that constant in your sql selects (and id_language='$LANGUAGE') in order to retrieve the text in the actual language.