Ciao raga,

ho un sito multilingua i cui file di contenuto sono divisi in più cartelle così strutturate:

- www.sito.it/it/index.php (e altri file) -> vers. italiana
- www.sito.it/en/index.php (e altri file) -> vers. inglese
- www.sito.it/fr/index.php (e altri file) -> vers. francese
- www.sito.it/es/index.php (e altri file) -> vers. spagnolo

Ora. Sto (come mi è stato gentilmente consigliato giorni fa proprio qui..ave a te..) separando la logica dal markup.

Quindi, ad esempio, per il box sulla scelta della lingua ho una roba di questo tipo:

File: menu-lingua.php
Codice PHP:
<?php
# Language menu
#
# Questo file viene incluso in tutti i file del sito per evitare di riscrivere ogni volta in caso 
# di ritoccate al sito/codice.
#
 
include_once('check-language.php'); # Questo file si occupa di verificare il linguaggio
?>
<ul>[*][url="<?php echo $ita_link?>"]Italiano[/url][*][url="<?php echo $eng_link?>"]Inglese[/url][*][url="<?php echo $fra_link?>"]Francese[/url][*][url="<?php echo $spa_link?>"]Spagnolo[/url][/list]
Come potete vedere nel file qui presente viene incluso un altro file che si occuperà di verificare da dove proviene l'utente e quindi stampare negli echo soprastanti il corretto link (e i corretti contenuti che qui non vengono esposti per essere breve).

Il controllo viene effettuato in questo modo ma..

File: check-language.php
Codice PHP:
<?php

$page 
$_SERVER['PHP_SELF'];

switch (
$page) {

  case 
'index.php':
    
# valorizzo le variabili da stampare in italiano..
  
break;

  
# ecc..
}
?>
Ma la variabile $_SERVER['PHP_SELF'] mi evidenzia solamente la fine del file (se aggiunta poi alla funzione basename ).

E' evidente che sbaglio approccio alla risoluzione del problema. Quindi la domanda è:

- Come faccio a sapere se l'utente si trova in it/index.php oppure in en/index.php e così via?


Grazie.