I think your best bet is to take advantage of what (at least in JAVA) is called Resource Bundles. There are 2 approaches to this:
1) You create the properties file for each language (in JAVA, named, for example, english_US.properties, or something like that). In the file you have something like this:
copy.hello_text:What is that?. In your german properties file, you could then have:
copy.hello_text:Vas is Das?. When you define your bundle, one of the parameters is the locale. The server automatically detects this parameter and substitutes the appropriate language.
2) The crude way. You define various files (german.php, yoruba.php, etc). In it, you assign text to variables
(example: hello = hello (in english.php), hello = hola (in spanish.php), etc. Of course you make sure you define the variable, for strongly-typed languages once. Then, you have icons somewhere on your page for each language. You would then link back to the page you are on, tacking on a language name-value pair.
So, let's say you are on the english home page and the user clicks on the german icon. The URL could look like so:
http://www.site.com/?lang=german. Then in your code, you could have code like so (I will use pseudo code here):
if(lang == "german") {
include german.php
}
Let's further say on your home page, you have the following snippet: <h1><% print hello %></h1>
Irrespective of language selected, the word(s) get changed out automatically.
There may be other (and better) ways to do this, but the above 2 are the ways I have typically done it. #1 is more optimal although (detection is done automatically). I generally prefer #2 as not all people who live in say, Germany, understand german. In other words, I would like to be able to select another language if I wanted to.
I hope this helps.