Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-10-2012, 19:03   #1
Lwyrn
Senior Member
 
L'Avatar di Lwyrn
 
Iscritto dal: Jan 2009
Città: Verona
Messaggi: 2514
[PHP+MySQL]Database, lingue e capocciate

Sto mettendo insieme un piccolo sistema che ( in teoria ) dovrebbe gestire migliaia di prodotti e di pagine di testo che però possono essere localizzate in un numero indefinito di lingue ( dinamicamente a scelta dell'amministratore ).
Sono un bel pò dubbioso sul tipo di sistema da utilizzare perché ognuna delle soluzioni che mi vengono in mente hanno tanti contro quanti pro. Prendete in considerazione che le "estensioni" che si occupano delle gestione dei vari compenti ( es prodotti, news etc. ) devono gestire automaticamente l'implementazione del numero indefinito di lingue. Quindi non posso preventivare campi specifici che andranno a gestire le rispettive lingue.
Di base ho pensato che viene definita una lingua principale dall'amministratore o dal sistema stesso. E questo mi pare anche abbastanza scontato
In anticipo ho pensato di creare un apposita colonna dedicata ( per ogni tabella che ne abbia la necessità ) per contenere array multidimensionali serializzati che contengono tutte le parti localizzate necessarie ( ad esempio titolo, descrizione o cos'altro ).
Potrebbe rivelarsi una situazione comoda per quanto riguarda la gestione da php che diventa molto più scorrevole e la pulizia nel database.
Diventa assolutamente scomodo però quando si comincia a voler fare query personalizzate per estrarre dati in determinati lingue. Ergo, diventa abbastanza difficile da gestire se si vogliono fare campi personalizzati di ricerca nel sito per lingue diverse da quella standard. Si dovrebbe cominciare a lavorare con query che sfruttano espressioni regolari per farsi strada tra la lunga stringa che verebbe fuori da un array serializzato, con conseguenti rallentamento delle query che, sopratutto su migliaia di articoli, comincerebbe a rallentarsi un bel pò. Per non considerare la limitazione che si avrebbe nel non poter usare istruzioni piu complesse.
Altra soluzione a cui ho pensato è quella di far creare ( si parla sempre in modo dinamico ) dal sistema n. tabelle per quante sono le lingue con un prefisso contenente il distintivo della lingua ( es products_it, product_es, products_en etc ). I pro sono ovviamente di poter fare delle semplicissime query cambiando solo il prefisso della tabella in caso si vogliano ricercare dati o effettuare query più complesse. Aumenterebbero però la difficoltà nella gestione del tutto. Si ci dovrebbe assicurare di far combaciare gli id della lingua principale con quelli delle tabelle secondarie, assicurarsi di cancellare le righe simultaneamente e aggiungere dei flag-field per determinare se un determinato prodotto è presente o meno in quella determinata lingua. Per non parlare dell'enormità di tabelle che ne uscirebbero fuori e sopratutto delle dimensioni: si arriverebbe a duplicare, triplicare, quadruplicare e così via la dimensione del database in base al numero di lingue utilizzate.
Altri metodi al momento non me ne sono venuti, però vorrei fare in modo di poter gestire il tutto cercando di aver un buon rapporto prestazioni/facilità di gestione, e sono parecchio indeciso.
Voi che dite, avete qualche idea da consigliarmi ? Qualsiasi idea è ben accetta!
__________________
Le mie trattative
Lwyrn è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2012, 19:37   #2
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Che ne dici di questo?

Una tabella prodotto che contiene tutto quello che non serve tradurre. Una per la lista delle lingue. E poi metti tutti i dati tradotti in una terza tabella che ha come chiave primaria l'id del prodotto e della lingua.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2012, 20:02   #3
Lwyrn
Senior Member
 
L'Avatar di Lwyrn
 
Iscritto dal: Jan 2009
Città: Verona
Messaggi: 2514
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
Che ne dici di questo?

Una tabella prodotto che contiene tutto quello che non serve tradurre. Una per la lista delle lingue. E poi metti tutti i dati tradotti in una terza tabella che ha come chiave primaria l'id del prodotto e della lingua.
Ummm, sicuramente molto meglio che duplicare intere tabelle! E si potrebbe collegare il tutto con delle join, sicuramente molto meno disordinato che creare trecentomila tabelle. Hai usato MysqlWorkbench per lo schema ?
__________________
Le mie trattative
Lwyrn è offline   Rispondi citando il messaggio o parte di esso
Old 07-10-2012, 20:04   #4
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Esatto.
VICIUS è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
1.040 Hz e tecnologia Mini LED: TCL sfid...
Smart retail: arrivano le soluzioni di H...
MOVA, guida all'acquisto per scegliere i...
Roborock Saros 20 X, arriva in Italia l'...
Mese nuovo e offerte di primavera: Amazo...
Amazon Warehouse e Seconda Mano: con le ...
Sony LinkBuds Clip sono le cuffie in ear...
Xbox, addio guide online? Microsoft vuol...
MindsEye sta morendo? Solo 19 giocatori ...
Collegare 10.000 GPU con la luce: la sco...
Dashcam 70mai A810S in prova, migliora u...
Addio filo perimetrale: questi robot tag...
Le Sony WH-1000XM5 tornano a un prezzo i...
C'è il genio dell'italiana Pininf...
Tre robot Dreame che stanno dominando su...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v