Matto is right about the cookies, that's an easy way to do it if you don't have users who have to log on to your site (ie: you don't know anything about them)
As for how to put the two languages into your site, that's a little more difficult.
It's quite easy with static html (you just make for example an English and a German version), but you definately don't want to maintain two copies of your website in two languages.
The way I 'solved' it is by making a 'library' containing all the texts I use inside the scripts. This can be a s simple as a list of 'define()' statements that simple make constants containing the text.
Then you'd create two versions of that, an English and a German version.
Which file you use depends on the language choice of the client.
Then inside your scripts you replace the actual messages with the constants that refer to the real messages
something like
define('GREETING_HOMEPAGE', 'Hello english people');
and in the german file:
define('GREETING_HOMEPAGE', 'Hallo Deutsche Leute');
And in the scripts:
if ($lang = 'german')
{
include('lang_german.php');
}
else
{
include('lang_english.php');
};
echo GREETING_HOMEPAGE;