Al final he conseguido hacer lo que quería, muchas gracias por vuestra ayuda. A ver que os parece mi solución:
Como quería tener en cada página de mi sitio web los enlaces a otras páginas sin pasar variables por URL (para no tenerlos triplicados, los 3 idiomas que uso) he hecho lo siguiente:
1.- Inicio una sesión y declaro una variable de sesión $idioma.
2.- Después tengo un if para ver si está definida otra variable $HTTP_GET_VARS["idioma2"],
en caso afirmativo $idioma = $HTTP_GET_VARS["idioma2"];
sino $idioma = valor_por_defecto;
3.- Luego tengo los enlaces de cambio de idioma así:
<p><a href="<?php $PHP_SELF ?>?idioma=ES">Castellano</a></p>
<p><a href="<?php $PHP_SELF ?>?idioma=GA">Galego</a></p>
<p><a href="<?php $PHP_SELF ?>?idioma=EN">Inglés</a></p>
para actualizar la propia página.
4.- Por último los enlaces a otras páginas sin pasar ninguna variable pero con la misma comprobación entre la variable de sesión $idioma y $HTTP_GET_VARS["idioma2"] al comienzo de cada página destino.
Gracias a Danger_ , eagoweb2 y luchope.