in pratica quando generi il link recuperi solo il nome del file e poi appendi tutte le variabili da passare in $_GET

puoi anche usare parse_url così:

Codice PHP:
$url $_SERVER['REQUEST_URI'];
$parts parse_url($url); // "spezza" l'url
$querystring $parts['query']; // argomenti come stringa
parse_str($querystring$queryargs); // argomenti come vettore
$queryargs['lang'] = 'en'// <------ qui cambi il parametro che vuoi
$querystring ''// ricomponi gli argomenti...
foreach ($queryargs as $k=>$v) {
  
$querystring .= '&'.$k.'='.$v;
};
$parts['query'] = $querystring// re-inserisci gli argomenti
// ... poi dovresti rigenerare l'url per il link 
...da testare/verificare/controllare :)