Newsgroup: it.comp.www.html
Titolo: Si puo' fare? Sito bilingue in una sola pagina.

Sto facendo un sito bilingue tutto con div e css  e tag ridefiniti;
per problemi di spazio vorrei che si vedesse una lingua per volta,
cioe' se si sceglie l'italiano non si vedranno i testi in inglese
ma solo un bottone per cambiare la lingua.
Per non avere doppioni di pagine vorrei mettere i contenuti delle due o 
piu' lingue nella stessa pagina.
1) Si puo' con un colpo solo (radio button o tendina) nascondere 
l'italiano e far vedere l'inglese? Strutturando la pagina cosi':
<div id=italiano> con annidati tutti gli altri div e
<div id=inglese> con annidati tutti gli altri div
i div annidati avranno la proprieta' di visibilita' ereditata da quello 
principale.
2) Una volta riuscito questo colpo, posso far si' che se vado a una 
pagina all'interno del mio sito sia automaticamente scelta in inglese, 
altrimenti devi scegliere la lingua ogni pagina?
3) Non vorrei usare i frame
4) Nella head si puo' mettere la codifica IT piu' quella EN ?
Grazie in anticipo
Gianni

,
 GianniS <gispe...@NonZPAMMEvirgilio.it> wrote:
Sono sempre io, ho trovato questi siti che nel concetto fanno quello di 
cui ho bisogno, solo che al posto di nascondermi alcune parti 
mostrandone altre, cambiano il look al sito
http://www.csszengarden.com/
http://adactio.com/journal/
In particolare il secondo sito usa un menu form che va a prendersi i css 
con cui si vuole fare il layout scelto
Posto il pezzo di codice:
<div class="box">
<h3>Customise</h3>
<form method="get" action="/journal/index.php" id="skinselection">
<p><span class="warning">If your browser was up to it, you'd be able to 
</span><label for="skin">Choose a theme...</label>
<select tabindex="7" name="skin" id="skin" onchange="jumpSkin();">
<option value="default" selected="selected">default</option>
<option value="tatemodern">tatemodern</option>
<option value="hi-tech">hi-tech</option>
<option value="seaside">seaside</option>
<option value="zeldman">zeldman</option>
<option value="adactizilla">adactizilla</option>
<option value="sci-fi">sci-fi</option>
<option value="renaissance">renaissance</option>
</select></p>
<noscript>
<p><input type="submit" name="go" value="Go!" /></p>
</noscript>
<p>This is the plain vanilla look.</p>
</form>
</div>
ARIgrazie
Gianni

 
http://adactio.com/journal/
Ciao GianniS,
    l' hai detto tu stesso: i due siti sopra citati cambiano il look al sito.
Se cerchi in tutta la rete, difficilmente troverai un sito che per ogni
pagina contiene il testo in più lingue e usa javascript & css per nascondere
o mostrare una lingua o l' altra.
La questione è che il compito dei css sono la presentazione, non la gestione
dei contenuti. Una volta fatto il tuo esperimento, fai queste prove:
- disabilita javascript e/o i cookie e prova a cambiare lingua al sito
- usa opera o mozilla e disabilita i fogli di stile dell' autore
- usa linx viewer per vedere la pagina da un text browser
- usa uno screen reader e prova ad *ascoltare* la tua pagina
Considera che se le lingue in una pagina fossero tre rispetto alle due iniziali,
dovresti aggiungere il testo tradotto in ogni pagina, e la manutenzione sarebbe
non proprio facile.
Inoltre le pagine html verrebbero decisamente pesanti e sovradimensionate.
Se vuoi un parere... è senz'altro una scelta migliore fare il template del sito e
poi per ogni lingua fare pagine separate, magari da conservare in cartelle distinte.
Oppure, se il sito si prospetta molto espandibile, potresti usare un cms con
supporto multilingue: drupal o phpnuke.
Ciao,
    Alessandro Fulciniti

     Alessandro
Grazie per avermi risposto, in realta' non ho intenzione di fare tutte 
queste prove, anzi, ho scritto qui per avvalermi dell'esperienza di chi 
ci e' gia' passato.
Nel web non ho effettivamente trovato un sito che fa quel che volevo 
fare ma solo qualcosa di simile.
Per cui, in buona sostanza non si puo' o non e' il metodo ideale: questo 
ho capito.
Grazie, cosi' mi hai evitato notti di prove inutili.
ciao

 Grazie, cosi' mi hai evitato notti di prove inutili. ciao
In realta' quello che vuoi fare tu e' fattibile facilmente con il php (e
forse anche con javascript e altre robe simili che onestamente ti
sconsiglio). Trovato in giro x la rete, non ne so molto di php ma dovrebbe
funzionare. E' cmq scomodissimo da gestire x le modfiche successive
<?
  if ($HTTP_GET_VARS[en]==0)
    echo "<a href=index.php?en=1>ENGLISH</a>";
  else
    echo "<a href=index.php?en=0>ITALIANO</a>";
  echo " }<br>";
?>
<?
  if ($HTTP_GET_VARS[en]==0)
  {
?>
Pagina in italiano
<?
}
  else
{
?>
Pagina in inglese

   if ($HTTP_GET_VARS[en]==0)
Ti ringrazio molto, ma dove lo metto quel codice?
non saprei come gestirlo, sono proprio digiuno di php.
Hai trovato questo codice in un sito? se si' mi daresti il link?
grazie ancora
Gianni

 Gianni
Guido

Ora me lo studio
intanto grazie
scusate il quoting
Gianni