Jag gjorde en sida i php med separata språkfiler med variabler (alt arrays). Användarens språk till en variabel "$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);" och sen en switch med default engelska ifall man inte lagt in språket. Efter det så skickade jag användaren till "header( 'Location: /'.$lang.'/'.$p );". Med $p tom om det inte är en undersida då såklart.
Sen får man ju styra upp med htaccess så indexfilen får rätt variabler och visar rätt sidor samt hämtar rätt språkfiler med variabler (eller arrays). Busenkelt att lägga till fler språk sen (om man har nån som orkar översätta).
Finns säkert lika många idéer som sätt att göra det på