Puedes usar el cascading de css para evitarte algunos ifs en php
Código HTML:
Ver original..
.idioma_en .not_when_language_en, .idioma_fr .not_when_language_fr, ... {display:none}
.when_language_fr, .when_language_en {display:none}
.idioma_en .when_language_en, .idioma_fr .when_language_fr {display:block}
..
<body class="idioma_<php echo $_GET['lang'];?>">
...
<li class="not_when_language_en"><a ...>English
</a></li> <li class="not_when_language_fr"><a ...>French
</a></li> ...
Es decir, si al body le añades una clase que indique el idioma actual, y a cualquier cosa que NO deba mostrarse cuando el lenguaje actual sea el de un cierto idioma, le añades la clase "not_when_language_xx", se ocultarán.
Lo inverso (que se muestre cuando el lenguaje actual=='xx'), se consigue con las clases "when_language_xx"
Usar esto también significa que, en realidad, la página carga siempre todos los recursos necesarios para mostrar la página en todos los idiomas, y después los oculta.Si esos recursos son pesados (grandes imágenes,etc), es mejor hacer el "if" por el lado del servidor, para no descargarlos siquiera.