Sito bilingue con un clic: come?
Ciao a tutti!!!
Poiché a leggere tutto il post poi la domanda si perderebbe in mezzo alle divagazioni, la scrivo subito:
Io avevo pensato il seguente metodo per farmi il sito bilingue, volevo sapere cosa ne dite e se conoscete un metodo migliore...
METODO:
In genere i siti bilingui presentano un index da cui si diramano due sezioni indipendenti italiano/inglese.
Io invece volevo far sì che in ogni pagina sia possibile viaggiare con un clic dalla versione italiana a quella inglese della stessa.
Avevo pensato di mettere una routine php all'inizio del codice dipendente dalla lingua con un piccolo form con menu a cascata: si seleziona la lingua e viene mostrata la pagina nella lingua voluta, ossia una cosa del tipo
<<codice col form per selezionare la lingua>>
if ($lingua==0){ <<pagina in italiano>>}
else {<<pagina in inglese>>}
Potrei anche nell'if includere la pagina, invece di scrivere il codice, ma preferisco avere una sola pagina per pagina (ovvero avere ciao.php, non ciao.php che include ciao_it.php e ciao_en.php... meno files ho meno mi incasino :top: )
Avevo pensato anche ad una soluzione drastica, del tipo caricare il codice nel database e richiamarlo dalla pagina, ma diventa una cosa inutilmente complicata.
NOTA: le mie pagine php sono TUTTE fatte così:
<?php include("relativepath/templates/top.inc);?>
<<codice pagina>>
<?php include("relativepath/templates/bottom.inc);?>
In top ci sono gli headers e si da' inizio al <div class="content">, in bottom si chiude il content e si mettono il menu laterale e il footer. Il codice dipendente dalla lingua sarebbe dunque tutto tranne il top.inc
usare un nome di sotto-dominio
I file temporanei mi sembrano un po' un dramma da gestire sul server: sapere quando cancellarli, scegliere il nome univoco magari l'IP ok.. se poi hai parecchi visitatori la cosa s'incrementa a dismisura.. non so...
Un altro approccio (non sperimentato):
Non penso di averne già parlato, ma è un espediente che mi è frullato in testa già tempo fa ma ancora non ho implementato nella pratica:
ovvero usare un nome di sotto-dominio per trasportare la lingua scelta
nel link di cambio lingua non faccio altro che impostare l'url del mio sito ad un sottodominio diverso, tipo:
<a href="http://en.heracleum.altervista.org">English</a>
<a href="http://heracleum.altervista.org">Italiano</a>
Poi, per scegliere quale linguaggio adottare nella pagina, all'inizio (in un include comune a tutte come è consuetudine) vado sempre a leggermi il nome del MIO HOST, con:
$HTTP_SERVER_VARS["HTTP_HOST"]
se inizia con il sotto-dominio
en.
allora qualcuno ha scelto la lingua inglese
altrimenti scelgo italiano.
Non si pone il problema di come trasportare la scelta della lingua visto che il nome di dominio scelto rimane automaticamente in tutti i link (essendo di solito RELATIVI).
Che dite?
potrebbe anche sfuggirmi qualcosa... ma in teoria mi sembra che possa funzionare :wink: