Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    152

    Progettare sito multilingua

    Ciao a tutti,

    oggi il mio problema è il seguente: Devo creare un sito multilingua con contenuti tipo News, FAQ etc. il tutto in ASP con DB (MySql)

    Dopo un po' di ricerche inline ho visto che ci sono svariati metodi ma riguardo a quello che ho pensato io non ho trovato molta documentazione per quanto riguarda le prestazioni.

    Dato che avrò molti contenuti che gestirò con database e da codice gestirò l'eventuale mancanza di testo di una lingua con la lingua di default.... ma non è questo che mi interessa ...

    L'idea meno comune che ho avuto è di mettere i testi che riguardano la struttura del sito (Menu, Pulsanti, alerts etc...) in un centinaio (per lingua) di Variabili Application.

    In questo modo risparmio al server di far caricare per ogni utente 100 variabili per ogni pagina e ne carico 400 (se ho 4 lingue) come variabili application una volta sola ... al quarto utente contemporaneo il numero di variabili in memoria è lo stesso ed in più ho il vantaggio che non devo ricaricarle ogni volta che apro una pagina.

    Che dite è una idea tanto assurda ?? Mi rimetto al vostro giudizio.

    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    152
    Si offende qualcuno se uppo?

  3. #3
    Utente di HTML.it L'avatar di jspippo
    Registrato dal
    Jul 2005
    Messaggi
    358
    Ciao,

    secondo me potresi utilizzare una variabile di sessione per ogni lingua e studiarti la struttura del sito mediante gli include...

    In questo modo diventa semplice scegliere il menù, il corpo, l'intestazione in bse alla lingua..

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    152
    Sì, questa soluzione la ho pensata ma la ho scartata per due motivi:

    1) per mettere aggiungere una lingua devo andare a modificare il sorgente piazzando l'include nuovo perchè non lo posso inserire dinamicamente (e questo potrebbe non essere poi un problema) e rinunicare alla creazione di interfaccia per dummies per la aggiunta di lingue ...

    2) in questo modo devo caricare le 100 variabili non solo per ogni utente ma anche per ogni pagina !!

    Il mio obiettivo è minimizzare l'utilizzo delle risorse della macchina e questa soluzione non mi è sembrata adeguata.

    Ho visto che un SW open source ASP (il forum snitz) utilizza le variabili (circa 200) in Application (non per il multilingua) e quindi non mi sono inventato niente di così originale !!

    Mi chiedo se esistano alternative più leggere ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    253
    Io ho un problema simile con un gestionale che sto sviluppando per lavoro,
    la soluzione adottata in quel caso è una tabella (DB) contenente tutte le costanti (frasi intere o parole) utilizzate nel sito e tradotte,nel nostro caso, solo in inglese.
    Le colonne dei linguaggi si chiamano proprio ITALIANO,ENGLISH e nel global.asa cè una variabile di sessione apposta per il linguaggio che è settata sull'italiano.

    Potresti metterla nel global come lingua di default e ridefinirla ogni volta che si procede ad un cambio lingua così il tuo sistema pesca dalla tabella con le costanti cercando la lingua corretta.

  6. #6
    le costanti le puoi mettere su un file xml e ti leggi quello (povero db, almeno per le cose fisse lasciamolo stare)

    per il resto...db
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Fai nel db una tabella lingue
    idLingua - contatore
    etichettaLingua - testo
    linguaDefault - numerico (salvi 1 se è default, altrimenti 0).

    Nella tabella degli argomenti/canali aggiungi un campo idLingua e lo referenzi all'idLingua della tabella lingue.
    Se l'idLingua è mancante allora dalla tabella lingue selezioni quello che ha linguaDefault = 1.

    Nelle pagine hai due opzioni per navigare il sito nella lingua desiderata:
    1. passare sempre in queryString l'id della lingua;
    2. oppure passare l'etichetta della lingua, ad esempio it, en, es, fr, ru, etc...

    Easy

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    253
    Originariamente inviato da Santino83_02
    le costanti le puoi mettere su un file xml e ti leggi quello (povero db, almeno per le cose fisse lasciamolo stare)

    per il resto...db

    Mi sono espresso male, x costanti intendevo le etichette...

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    152
    Sì, forse ho fuorviato con il titolo ma la mia domanda finale era di tipo diverso:

    Quale soluzione è preferibile per preservare le risorse su un sito, che potrebbe avere parecchi utenti, secondo voi tra

    1) mettere 400 (nel caso di quattro lingue) variabili application caricandole una volta sola

    2) mettere 100 costanti caricate in ogni pagina da ogni utente

    3) schiaffare tutto in un DB e richiamare solo ciò che mi interessa

    ?

    Oltre al fatto che le prestazioni contano specifico che :
    - le pagine saranno circa 250/350
    - le lingue saranno presumibilmente 4
    - Il motore dovrà preferibilmente essere riutilizzabile
    - Per ottimizzare l'indicizzazione nei motori i links saranno diversi tra le varie lingue (un altro filtro si occuperà della trasformazione)

    Per il momento ho schiaffato le pagine (con dei tag customizzati per inserire delle variabili) in una tabella di db e le variabili in un'altra con dei campi lingua per differenziarli. In application ho solo la connessione al DB

    Inoltre ho ho diviso le costanti in categorie Link|Const|Page ... etc in modo da poterle distinguere meglio:

    La struttura del motore che sto partorendo attualmente è quindi questa :

    Prendo dal DB la pagina HTML con {Customize tags}
    La processo con le "Regular Expression" per trovare se ci sono del variabili da inserirci
    Prendo dal DB le variabili che mi servono
    Faccio il replace
    Stampo la pagina

    Ora detta così sembrerebbe un po' pesantuccia secondo me ... secondo voi ?

    P.S. Per quanto riguarda mettere tutto in XML ... chiedo senza essere documentato: Ci posso inserire del codice html in unfile XML ? Credo che la risposta sia retoricamente sì ma mi chiedo se nel mio caso sia veramewnte conveniente mettere in XML piuttosto che in un DB (MySql) ... ai poster l'ardua sentenza ...

    Ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.