Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    157

    Sito multilingua usando xml

    ho letto (cercando nel forum) che esistono vari modi per fare quello che voglio io, un sito in multilingua.... ho letto che tutti usavano un database però nessuno aveva provato con un foglio xml per ogni lingua.... qualcuno sa dirmi come fare?? o comunque se non avete la soluzione mi potete spiegare meglio in modo più dettagliato e + semplice (per un newbie come me per quanto riguarda l'asp) come fare per farlo usando un database access... grazie mille per l'aiuto....

  2. #2
    l'utilizzo di XML è una buona idea...

    prima di tutto devi imparare a gestire un XML da asp

    cerca XML DOM...

    e intanto impara a gestire un XML...

    perchè poi molto semplicemente un XML (in questo caso) viene usato come una specie di database

    io sinceramente userei o il DB oppure un file di costanti ASP incluso dinamicamente
    san imente saluta

    * http://simonecingano.it *

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    157
    si, adesso la mia scelta punterebbe sul file di costanti xò la cosa che non mi convince (nel senso che non so fare) è il fatto di stabilire la funzione che quando clicco sulla bandierina dell'italiano lui automaticamente mi va a httpercorso+nomepagina?lang=ita cioè che mi include il file di constanti in italiano.... come posso fare a farlo?? grazie ancora per l'aiuto

  4. #4
    io uso la classe di inclusione dinamica scritta da baol (che ho modificato per la funzione di cui sopra)

    class.include.asp
    codice:
    Class Class_dinamicInclude
    
    	public Fso
    	public WebPath
    	
    	private sub Class_initialize()
    		WebPath = Request.ServerVariables("APPL_PHYSICAL_PATH")
    	    Set Fso = CreateObject("Scripting.FileSystemObject")
    	end sub
    
    	private function Readfile(rFilename)
    		Dim f
    		
    		on error resume next
    		Set f = fso.OpenTextFile(WebPath & rFilename , 1,False, 0)
    		
    		if err.number<>0 then
    			Response.Write("<p style=""font-family:verdana;font-size:11"">Include File not Found [" & lCase(WebPath & rFilename) &"]
    
    ")
    			Response.Write("<p style=""font-family:verdana;font-size:11"">Error "& Err.number  &" [" & Err.Description  &"]
    
    ")
    			Response.end
    		end if
    		
    		on error goto 0
    		
    		Readfile = f.ReadAll
    		
    		f.close
    		
    		Set f=nothing
    		
    	End Function
    
    	Public Function Include(Filename)
    		dim tMp,Fullpath
    		tMp = Replace(request.ServerVariables("URL"),"/","\")
    		Fullpath = Mid(tMp,2,InStrRev(tMp,"\")-1) & Filename
    		
    		include = Readfile(Fullpath)
    		include = replace(include,"<" & "%","")
    		include = replace(include,"%" & ">","")
    		
    	end function
    	
    	private sub Class_Terminate()
    		set fso = nothing
    	end sub
    	
    end class
    
    Sub IncludeFile(argFilename)
    
    	dim  oIncludeFile
    	Set oIncludeFile = new Class_dinamicInclude
    	IncludeFile = oIncludeFile.Include(argFilename)
    	Set oIncludeFile = nothing
    		
    End Sub
    il suo utilizzo è semplicissimo

    per es:

    codice:
    <%
    call IncludeFile(request.querystring("lang") & ".asp")
    %>
    in questo caso includerebbe dinamicamente il file ITA.ASP
    ricorda sempre che questo tipo di inclusioni possono utilizzare TUTTE le variabili della pagina in cui vengono incluse. non sono ambienti isolati.

    peraltro ricorda di fare un controllo sui valori di entrata
    ma l'utilizzo pratico è questo che ti ho esposto
    san imente saluta

    * http://simonecingano.it *

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    157
    allora penso di aver capito come fare, prendo il codice che mi hai dato tu, quello della funzione e lo salvo come class.include.asp poi prendo e nel file in cui voglio includere il file ita.asp metto la stringa che mi hai messo + in basso.... e poi ke devo fare per far si ke se clicco sulla bandierina ita lui mi va al linguaggio ita??? scusa ancora e grazie

  6. #6
    più o meno

    devi fare in modo che in ogni pagina sia passato il LANG=ITA in querystring (oppure con i cookie)

    poi a inizio di ogni pagina ci metti quelle due linee che ti ho dato (ovviamente se usi i cookie invece che request.querystring ci metti request.cookie... e così se usassi le session request.session)

    in pratica poi il file che includi sono una serie di costanti che poi utilizzi nelle varie pagina
    san imente saluta

    * http://simonecingano.it *

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    157
    si infatti ma la funzione da dove lo prende il nome del file con le constanti da includere in ogni pagina??? perchè ho provato ma il file che mi cerca è nomepercorsoeccecc/.asp
    si in pratica è vuoto .asp non so come fare, ci capisco veramente nulla di asp... mi faresti un esempio con il link che va dalla img ita.jpg al ?lang=ita includendo ita.asp e anche uno esempio che vada dal file ing.jpg al ?lang=ita includendo il file ing.asp?? e poi il file che includo (cioè ing.asp ita.asp ecc) deve essere sempre nella stessa cartella del file con il richiamo della funzione??? grazie mille ancora ma nn ci capisco veramente nulla....

  8. #8
    non vedo il problema

    fai si che l'immagine in italiano mandi a PAGINA.ASP?LANG=ITA

    e che l'immagine in inglese mandi a PAGINA.ASP?LANG=ENG

    poi ti fai due file identici di costanti e li chiami come vuoi es:

    lingua_ita.asp
    lingua_eng.asp

    dove la parte iniziale è sempre uguale e l'unica differenza è ITA e ENG

    infine quando includi ti basta fare

    codice:
    call IncludeFile("lingua_" & request.querystring("lang") & ".asp")
    ----

    ma se una cosa semplice come questa ti crea problemi sicuro di saper gestire le costanti per far si che il sito venga fuori in più di una lingua con le stesse pagine?
    san imente saluta

    * http://simonecingano.it *

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    157
    ok quindi devo fare con le immagini un semplice collegamento con a href ecc che porti a nomepagina.asp?lang=nomelinguaggio e infine metto includo in ogni pagina il file class.include.asp e metto anche il codice che mi hai messo sotto... Poi una volta creati i file che hanno il prefisso come mi hai messo sotto e cambia solo il nome della lingua tutto dovrebbe tornare.... capito capito.... grazie mille!! grazie!!!

  10. #10
    esatto

    ovviamente questa è la struttura, poi tu ci devi mettere il sugo :P

    tutte le costanti e poi stamparle nelle pagine
    san imente saluta

    * http://simonecingano.it *

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.