Newsgroup: it.comp.www.php
Titolo: Progetto in multilingua con php/mysql

Ciao a tutti,
dunque dunque come da soggetto avrei bisogno di un qualche piccolo consiglio
in merito al nostro buon amico mysql in quanto sto sviluppando un progetto,
a puro titolo di studio personale,  in php-mysql che come caratteristica
principale
ha quella di essere totalmente multilingua.
Per quel che riguarda l'impaginazione del sito (testi e grafica) ho risolto
trasformando
il contenuto di una particolare directory in variaibili da cui trarre i path
per llincare
sia i file con le definizioni dei linguaggi che le immagini relative (ed
esempio
pulsanti o banner in italiano o inglese).
Adesso vorrei spingermi più in la  e sdoppiare il contenuto del
db. Nel caso di un programma di commercio eletronico vorrei fare in modo
che i contenuti del db (ad esempio la descrizione degli articoli) venga
visualizzata
solo nella lingua in uso e che qualora si decidesse di combiare lingua
durante
la navigazione dentro al catalogo, o qualsiasi altra parte del sito, il
programma
cambi automaticamente linguaggio senza riportare l'utente alla index.php
e senza fargli perdere eventuali ricerche fatte, se non basate su parole
chiave in una
lingua diversa. In due parole se si cerca qualcosa usando delle chiavi in
italiano qualora si decida di visualizzare il sito inglese le chiavi appena
usate
perderanno logicamente di valore e sarà necessario ripetere la ricerca,
magari
con le stesse chiavi ma in scritte in inglese. Questo penso di risolverlo
con
un paio di cicli if e PHP_SELF.
Per fare questo avevo pensato di creare una tabella linguaggi dentro al db e
di
collegarla alla tabella prodotti in modo che ad un dato prodotto corrisponda
l'id
1 della tabella linguaggi (poniamo che sia italiano) e l'id 2 della stessa
tabella (
poniamo che sia inglese). Allo stesso modo avrei pensato di realizzare una
query
che in base alla lingua in uso estrapoli i dati nella lingua che mi
interessa.
----------
Schema delle tabelle
Tabella linguaggi
linguaggio_id
linguaggio_nome
Tabella articoli
articolo_id
linguaggio_id
articolo_nome
articolo_descrizione
Notare come ho collegato le due tabelle. E' forse li l'errore ?
-------------
La lingua avrei pensato di settarla così:
$linguaggio_nome = $linguaattualmenteinuso;
dove linguaggio_nome corrisponde alla colonna della tabella linguaggi mentre
linguaattualmenteinuso contiene o italiano o inglese (o altre lingue se
presenti
nel programma).
In teoria dovrebbe bastera una query simile alla seguente
$risultati = mysql_query (SELECT articolo_nome, artilcolo_descrizione FROM
ARTICOLI
where $linguaggio_nome = 'linguaggio_id');
ma non è così perchè visualizza solo e sempre i contenui in italiano; in
questo caso
linguaggio_id è l'id auto_increment della tabella linguaggi.
Forse sono rincoglionito, o semplicemente avrei bisogno di tornare in
vacanza,
fatto sta che sono praticamente convinto che il programma non riesca ad
associare
il valore della colonna linguaggio_nome a linguaggio_id della stessa
tabella.
Sapete dirmi dove sto sbagliando ?
Grazie
Adriano


Magari cosě funziona:
$risultati = mysql_query (SELECT articolo_nome, artilcolo_descrizione
FROM
articoli, linguaggi
WHERE  linguaggio_nome='$linguaggio_nome'
AND articoli.linguaggio_id=linguaggi.linguaggio_id);
Anche se ti consiglierei di mantenere in variabile solo l'id del
linguaggio.
Carlo

 dunque dunque come da soggetto avrei bisogno di un qualche piccolo
consiglio
studiati e passa tutti il codice di
http://www.piazzagrande.ch/download/PPK-editing-0.6.tar.gz
   54KB
attualmente sopporta
italiano deutsch français english espanhol
http://www.piazzagrande.ch/
anche con le directori virtuali...
http://www.piazzagrande.ch/exec/2_2/it/e83b79e48d321acdc73e7dc1feaeae29/gpl
.
html
se non ti servono le sessioni ..  nel file _ini.php
metti la variabile $s a zero $s=""; oppure $s="ciao";  e ricevi gli
articoli:
http://www.piazzagrande.ch/exec/2_2/it/ciao/gpl.html
Ciao Patrik 
www.swisse.ch
 
www.swisse.org


 ha scritto nel messaggio
news:aor972$p7bg9$1...@ID-104614.news.dfncis.de...


 ha scritto nel
messaggio news:aorb2i$str$1...@rex.ip-plus.net...



Non capisci il senso dell'open source....
se la pensi in quel modo fatti anche da solo
PHP Apache & MYSQL?
Io quando ho iniziato con PHP 3 anni or sono i miei colleghi
mi ridevano dietro con i libri di asp in mano..
Io prendevo i migliori programmi che trovavo e li
smontavo in 1000 pezzi prima di decidere se riutilizzare parti
o se inventare la routa da 0...
Molti programmi sono migliorati perchè tanti vi hanno messo il naso..
Ciao Patrik



Hai perfettamente ragione, la penso come te ma non riesco a farlo.
Non so se puoi arrivare a capire quello che intendo dire e non è neanche
facile spiegarlo. Tuttavia se guardo come qualcuno ha fatto qualcosa o
lo smonto in 1000 e passa pezzi dopo poi non riesco ad utilizzarlo
per il semplice motivo che non lo sento mio, non mi appartiene, non è
frutto del mio ingegno, del mio modo di vedere e risolvere i problemi
o semplicemente di trovare le soluzioni per realizzare ciò che mi
interessa.
Lo posso ammirare se è ben fatto, posso apportare delle modifiche o
delle migliorie, se necessario o se ne ho voglia,  ma non certo prenderlo
come esempio o usare anche una sola linea di codice per un qualcosa di mio.
L'open source è un modello di sviluppo eccezionale su questo non si
discute come non si discute sul fatto che grazie ad esso moltissimi
programmi sono diventati eccellenti, ma la soddisfazione personale
dove la metti ?
Sinceramente parlando fare i "collage" di codice mi fa provare le stesse
emozioni che proverei lavorando in una fabbrica,  magari come
addetto ad una catena di montaggio, con l'unico obbligo di premere
bene e sempre nella stessa sequenza i bottoni del pannello di controllo
così da garantirmi di arrivare senza troppi problemi alla pensione.
Sempre sinceramente parlando per me programmare un computer
è ben'altra cosa.
Saluti
Adriano