How can language selection be implemented in a PHP website without using frames?

To implement language selection in a PHP website without using frames, you can create different language versions of your website and use PHP to dynamically switch between them based on user selection or browser preferences. This can be achieved by using session variables or cookies to store the selected language and then loading the corresponding language file for each page.

```php
<?php
session_start();

if(isset($_GET['lang'])){
    $_SESSION['lang'] = $_GET['lang'];
}

if(!isset($_SESSION['lang'])){
    $_SESSION['lang'] = 'en'; // default language
}

include 'languages/'.$_SESSION['lang'].'.php';
?>
```

In this code snippet, we start a session and check if the 'lang' parameter is set in the URL. If it is, we set the selected language in the session variable. If not, we default to English. We then include the language file based on the selected language, which contains translations for all the text on the website.