AGGIORNAMENTO 2 : Ho finito per usarlo, ed è fantastico dopo un paio di modifiche. Ecco il mio post sul suo design attuale e in azione: http://tim.hithlonde.com/2013/lemon-schema-works/
Sto creando un'app Web e voglio che supporti più lingue. Questa struttura ha due componenti:
- Connessione locale ('inglese', 'Deutch', ecc.) Con i termini e con una pietra rosetta che collega i termini e i termini in una lingua specifica.
- Raggruppare i termini per pagina. Non voglio dire, selezionare term1, term2, ecc. Attraverso i 30+ termini che potrei avere bisogno su una pagina. Voglio chiedere dalla pagina a cui sono collegati.
Ecco la mia struttura di tabella proposta (nota che tutti gli ID hanno relazioni / indici tra loro per effettuare query molto efficienti):
* locale
* id
* value //English, Deutch, etc//
* terms
* id
* value //In English//
* page
* id
* value //Think add entry, menu//
* page_group //group all terms to a page, for easy pulling//
* id
* page.id
* term.id
* rosetta
* id
* locale.id
* term.id
* value //french word for amount, description, etc//
Ciò consentirà query come:
SELECT localization.value,
terms.value
FROM localization
INNER JOIN terms ON terms.id=localization.termid
INNER JOIN page_group ON page_group.termid=localization.termid
INNER JOIN page ON page.id=page_group.pageid
INNER JOIN locale ON locale.id=localization.localeid
WHERE page.value='add_entry' AND locale.id=custlangid
ORDER BY terms.id
Devo solo chiedere due articoli; l'id della lingua di cui ho bisogno e la pagina di cui ho bisogno. Fornirà tutti i termini, nella lingua specificata, che fanno parte del gruppo di termini per quella pagina.
Penso che questa sia davvero una buona struttura, ma mi piacerebbe un po 'di feedback.
AGGIORNAMENTO : per chiarire, stiamo solo parlando della localizzazione dei componenti dell'interfaccia utente . (etichette, navigazione, testo utile) Tutte le informazioni immesse dall'utente verranno archiviate in Unicode, non in questo schema.
AGGIORNAMENTO 2 : Ho finito per usarlo ed è fantastico. Ecco il mio post sul suo design attuale e in azione: http://tim.hithlonde.com/2013/lemon-schema-works/
<?php echo $term['term_in_english'];?>
che sto cercando un solido approccio MVC.