Sito in multilingua

  • Creatore Discussione Creatore Discussione max1850
  • Data di inizio Data di inizio

max1850

Utente Attivo
8 Gen 2007
107
0
16
Cosenza
www.net-site.it
Salve.
Scusate se apro 2 thread nello stesso giorno ma mi è venuto un dubbio.
Come si crea un sito multilingua?
Ho letto alcuni thread e un tutorial dell'espertissimo Lukeonweb ma ancora non mi sono chiare alcune cose. Passo subito al dunque.
Da quello che ho capito, se dobbiamo creare un sito con 2 lingue (ad es. italiano ed inglese) bisogna creare 2 siti, uno con le pagine in italiano e una con quelle in inglese (ad es. index_it.asp e index_en.asp).
Correggetemi se sbaglio...
Il tutto inizia così: nella homepage in italiano mettiamo una scelta in cui l'utente sceglie la lingua da utilizzare. A questo punto viene richiamata una pagina (ad es. scelta.asp) che elabora la scelta fatta dall'utente e reindirizza alla hompage in italiano o in inglese scelta.

E' esatto il procedimento? :rolleyes:
E, la pagina "scelta.asp" non viene visualizzata quando viene richiamata? :rolleyes:

Grazie ;)
Max!
 
Ciao Max, a distanza di anni da quell'articolo ho qualche filosofia nuova.

1. si può creare un sito multilingua usando la stessa pagina ed attivando un cookie, una sessione o una querystring che, a seconda del valore, mostra il contenuto nella lingua scelta (prendendolo ad esempio dal database);

2. creare un clone del sito.

Pro soluzione 1: è pratico, avendo un file solo.

Contro soluzione 1: perdi di indicizzazione perchè i motori non si rendono più conto in che lingua è scritta la pagina.

Pro soluzione 2: le pagine sono diverse e si indicizzano bene.

Contro soluzione 2: se devi fare una correzione la devi fare due volte.

L'ideale, secondo me, è la soluzione 1 riscrivendo ad hoc le URL.

Ad esempio:

/chi-siamo.asp?lang=it
/it/chi-siamo.html

/chi-siamo.asp?lang=en
/en/chi-siamo.html

In merito all'altisonante titolo da tutorial creare un sito multilingua ricorda che stai semplicemente effettuando delle query su contenuti diversi in base ad un valore: nulla di più e nulla di meno.
 
Ciao Max, a distanza di anni da quell'articolo ho qualche filosofia nuova.

1. si può creare un sito multilingua usando la stessa pagina ed attivando un cookie, una sessione o una querystring che, a seconda del valore, mostra il contenuto nella lingua scelta (prendendolo ad esempio dal database);

2. creare un clone del sito.

Pro soluzione 1: è pratico, avendo un file solo.

Contro soluzione 1: perdi di indicizzazione perchè i motori non si rendono più conto in che lingua è scritta la pagina.

Pro soluzione 2: le pagine sono diverse e si indicizzano bene.

Contro soluzione 2: se devi fare una correzione la devi fare due volte.

L'ideale, secondo me, è la soluzione 1 riscrivendo ad hoc le URL.

Ad esempio:

/chi-siamo.asp?lang=it
/it/chi-siamo.html

/chi-siamo.asp?lang=en
/en/chi-siamo.html

In merito all'altisonante titolo da tutorial creare un sito multilingua ricorda che stai semplicemente effettuando delle query su contenuti diversi in base ad un valore: nulla di più e nulla di meno.

Ciao Luke!
Per quello che serve a me l'ideale sarebbe la soluzione 2. ;)
Ho risolto così:in pratica ogni pagina in italiano ed in inglese ha dei semplici link alla relativa pagina in italiano o in inglese. ;)
Secondo te può andare bene?

Un'altra cosa... vado un po' OT.. vorrei inserire una ricerca interna al sito stesso. Come si può implementare?

Ciao
Max!
 
Ultima modifica:
Si va bene, anche se è più lavorata in termini di numero di pagine e di possibili interventi: se cambia una query in una pagina italiana, la devi cambiare anche in quella in inglese.

Non sei OT: si può gestire la ricerca, basta che organizzi bene in database.

Immagina una tabella di prodotti coi seguenti campi:

id
titolo
title
descrizione
description
costo

Mi spiego?

Nella pagina italiana fai la ricrca su titolo e descrizione ed in quella inglese la ricerca va fatta su title e description.

In bocca al lupo :)
 
Si va bene, anche se è più lavorata in termini di numero di pagine e di possibili interventi: se cambia una query in una pagina italiana, la devi cambiare anche in quella in inglese.

Non sei OT: si può gestire la ricerca, basta che organizzi bene in database.

Immagina una tabella di prodotti coi seguenti campi:

id
titolo
title
descrizione
description
costo

Mi spiego?

Nella pagina italiana fai la ricrca su titolo e descrizione ed in quella inglese la ricerca va fatta su title e description.

In bocca al lupo :)
Ciao!
Forse mi sono spiegato male... vorrei fare una ricerca interna che cerca un testo qualsiasi presente nel sito. Proprio come ce l'ha Aruba in alto a destra con l'etichetta "Cerca su Aruba", che ha sia un campo di testo che un pulsante per avviare la ricerca.

Come si può fare?

Ciao
Max!
 
Oddio mio... e io che ti ho detto? :)

Scusa, tu fai la ricerca. Se sei nella pagina italiana cerchi un termine all'interno del database, cercandolo tra i dati italiani. Se sei nella pagina inglese la ricerca la fai all'interno del database... tra i termini inglesi.

A cosa non ho risposto esattamente?
 
Oddio mio... e io che ti ho detto? :)

Scusa, tu fai la ricerca. Se sei nella pagina italiana cerchi un termine all'interno del database, cercandolo tra i dati italiani. Se sei nella pagina inglese la ricerca la fai all'interno del database... tra i termini inglesi.

A cosa non ho risposto esattamente?
No tu hai risposto esattamente :) ... il fatto è che non ho termini nel database e non so proprio come funziona questa ricerca interna.
Quindi dovrei inserire delle parole in una tabella del db? E quali termini?
E ogni volta che le pagine vengono aggiornate devo aggiornare anche la tabella?

Ciao
Max!
 
Beh, credevo che i contenuti fossero in un database.

Ti do qualche link utile:

Motore di ricerca interno con ASP: http://www.aspcenter.net/articoli/145.asp

Motore che legge il contenuto dei file: http://www.aspcenter.net/articoli/153.asp

E' complicato, te lo sconsiglio: io non l'ho mai usato.

Puoi fare una cosa semplice ed elegante che fanno anche siti importanti come W3Schools.com: delegare il compito a Google, facendo ricerce su Big G solo nel tuo sito:

http://www.aspcenter.net/articoli/55.asp

Spero i link ti tornino utili :ilpirata:
 
Beh, credevo che i contenuti fossero in un database.

Ti do qualche link utile:

Motore di ricerca interno con ASP: http://www.aspcenter.net/articoli/145.asp

Motore che legge il contenuto dei file: http://www.aspcenter.net/articoli/153.asp

E' complicato, te lo sconsiglio: io non l'ho mai usato.

Puoi fare una cosa semplice ed elegante che fanno anche siti importanti come W3Schools.com: delegare il compito a Google, facendo ricerce su Big G solo nel tuo sito:

http://www.aspcenter.net/articoli/55.asp

Spero i link ti tornino utili :ilpirata:
Ciao Luke!
Ho potuto dare un'occhiata ai links solo ora...
i primi 2 non servono al mio scopo... per il terzo.. non mi piace tanto far fare la ricerca a Google perchè è come se uscisse fuori dal mio sito e visualizzare il risultato nel suo..

Avevo già abbandonato l'idea di fare questa ricerca per il fatto che era complicata ma mi è venuto uno dei miei soliti dubbi :D:se volessi usare un db in cui inserire le pagine del sito, questo lavoro devo farlo a mano oppure esiste qualche script che lo fa in automatico? E poi, cosa va memorizzato nel db? Solo i testi di una pagina o anche altri oggetti come il nome delle immagini, ecc..?

Grazie per il tuo preziosissimo aiuto! :fonzie:
Max!
 
Ultima modifica:
Max, i contenuti del sito devono essere presenti nel database per andare ad eseguire una ricerca.

Se i contenuti sono pagine statiche puoi usare o la ricerca col FileSystem o la soluzione Google.

Inizia a strutturare i contenuti reperendoli direttamente dal database e poi ne riparliamo.

Buona domenica!
 
Max, i contenuti del sito devono essere presenti nel database per andare ad eseguire una ricerca.

Se i contenuti sono pagine statiche puoi usare o la ricerca col FileSystem o la soluzione Google.

Inizia a strutturare i contenuti reperendoli direttamente dal database e poi ne riparliamo.

Buona domenica!
Ciao!
OK, ho capito bene o male come fare!

Grazie delle ottime info! :fonzie:
Buona domenica anche a te!

Max!
 
Ciao Luke!
Girando ho trovato questo script in ASP che permette, appunto, di effettuare una ricerca interna nel sito.
E' composto da 1 sola pagina, ma non riesco ad implementarla in una pagina del mio sito.
Cioè, visto che è una ricerca "avanzata" vorrei lasciare solo la casella di testo ed il pulsante "cerca", e togliere tutti gli altri vari "fronzoletti"...come le optionbutton, immagini varie, ecc..
Infine, vorrei poter inserire questa ricerca in una cella di una tabella.
Ho provato ma non riesco. Approfitto un attimo della tua disponibilità :p ... potresti gentilmente darci un'occhiata?
Lo mando come allegato.

Grazie ;)
Max!
 

Allegati

Ultima modifica:
Cos'è che dovrebbe fare questo script di preciso?

Comunque scusami ma continuo a non capire perchè non usi un database per la ricerca :)

Ciao Luke!
Questo script cerca del testo in tutti i files del sito... è semplice e personalizzabile...
Inserire tutte le pagine del sito in un database non mi convince molto...anche perchè ancora non ho capito bene la procedura.
Per ora mi accontenterei di un semplice script come questo... poi in un secondo tempo magari cambierò idea ;)

Ciao
Max!
 
Mi sono scordati prima di dirti che il codice che ti ho mandato è quello che ho provato a modificare per togliere tutte le opzioni della ricerca avanzata, proprio per lasciarla come "ricerca semplice".
Però non funziona tanto bene... il codice originale comunque è rimasto nel file come commento...

Ciao
Max!
 

Discussioni simili