Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Gestione sito multilingua. 2 domande..

    Salve a tutti.

    Mi trovo a gestire un sito in diverse lingue.

    Al momento, sto utilizzando una select all'interno di un file menu.php che mi permette di scegliere la lingua:
    codice:
    <script language="javascript">
    					
    			function Redirect(val){
    			   location.href = 'http://www.miosito.com/folder/'+val+'/step1.php';
    			}
    </script>
    
    <select style="width: 169px;"  id="language-select-list" onchange="Redirect(this.value)">
    					<option selected="selected" value='en'>English</option>
    					<option value='es'>Espa&#241;ol</option>
    				        <option value='fr'>Français</option>
    									
    </select>
    In questo modo però se l'utente si trova già su step2.php il codice che vi ho postato lo rimanda alla pagina step1.php nella lingua che ha selezionato.

    1) c'è qualke modo o qualke funzione che mi permetta di interagire con la stringa contenuta nell'URL, in modo da capire in quale pagina si trova l'utente e rimandarlo alla stessa pagine tradotta?

    2)Nella selezione come potete vedere ho inserito il codice &#241 , in quanto inserendo il carattere ñ mi viene visualizzato con errore. Come posso ovviare a questo problema?


    Grazie in anticipo..

  2. #2
    1) c'è qualke modo o qualke funzione che mi permetta di interagire con la stringa contenuta nell'URL, in modo da capire in quale pagina si trova l'utente e rimandarlo alla stessa pagine tradotta?
    Per rimandare l'utente alla pagina esatta sovrascrivi location.href.
    Utilizza la stessa stringa (location.href intendo) per fare i tuoi test.

    Codice PHP:
    function getCurrPage(href) {
     
    // ricava la pagina su cui sei utilizzando l'url che gli hai passato.
    }

    function 
    Redirect(val) {
      var 
    currPage getCurrPage(location.href);
      
    location.href 'http://www.miosito.com/folder/'+val+'/'+currPage';


  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Soluzione funzionante:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
        <head>
            <script type="text/javascript">
    			
    			function Redirect(val){
    			var URL = location.href;//recupero la url della pagina
    			var linguage = val.options[val.selectedIndex].value;//recupero il valore della select
    			var folder = location.href.split("/")[5];//separo la url contando i backslash che partono da 0
    			var page = URL.replace(folder,linguage);//sostituisco la cartella
    			alert(page)
    			//location.href = 'http://www.miosito.com/folder/'+val+'/'+page;
    			}
    </script>
        <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
    </head>
        
        <body>
     
    <select style="width: 169px;"  id="language-select-list" onchange="Redirect(this)">
    					<option selected="selected" value='en'>Eng</option>
    					<option value='es'>Esp</option>
    				    <option value='fr'>Fra</option>
    									
    </select>       
        </body>
    </html>
    Attenzione ai backslash della url http://..... devi contarli partendo da 0, per quanto concerne le lettere "strane" dovrebbe essere un problema di codifica (charset) altrimenti accorciale come ho fatto io.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Ciao, innanziutto grazie per le risposte,siete stati molto utili.

    X antotan: ho provato ad inserire il tuo script in php ma dà errore..non riesce a trovare alcuna pagina, è come se la funzione getCurrPage sia errata..

    Ho provato , in modo da trovare una soluzione da solo, a stampare a video il risultato di tale funzione
    codice:
    <script language="javascript">
    
    var currPage = get CurrPage(location.href);
    document.write(currPage);
    
    </script>
    ma senza alcun risultato, non mi appare nulla nella pagina..dov'è l'errore?

  5. #5
    Ciao, la funzione getCurrPage non l'ho implementata, era solo per farti un esempio.
    Al suo interno dovrai splittare l'url che ricavi da location.href e dovrai ottenere la pagina attuale. Qualcosa del genere, molto barbaramente:

    codice:
           function getCurrPage(href) {
        	   var temp = href.split("/");
        	   var page = temp[temp.length-1];
        	 }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.