Come progettare schema di database per un sistema di gestione dei contenuti (CMS) con supporto in più lingue?
-
19-09-2019 - |
Domanda
Ho intenzione di costruire un sito con il supporto di più lingue, e ho bisogno di avere la capacità di controllare il flusso di lavoro degli articoli, aziende, prodotti. Il tutto con il supporto di più lingue e delle versioni multiple. Qualcuno ha la soluzione per questo già o ho bisogno di ripartire da zero?
Soluzione
Hai provato a guardare i modelli di database a risposte database ?
Naturalmente, è possibile utilizzare MS SharePoint.
Hai guardato:
Joomla è un contenuto premiato Sistema di gestione (CMS), che consente di costruire siti web e potente applicazioni online. Molti aspetti, compresa la sua facilità d'uso e la estensibilità, hanno reso Joomla il maggior parte del software popolare sito web a disposizione. Migliore di tutti, Joomla è un soluzione open source che è liberamente a disposizione di tutti.
Altri suggerimenti
Come la tua domanda è molto ampia, cercherò di darvi una risposta con un semplice esempio. Questa può essere estesa a ogni entità che si desidera memorizzare. Supponiamo di avere un'entità articolo.
L'articolo (articleID, LangID, ENUTitle, ENUContent, AuthorID)
Per impostazione predefinita è possibile memorizzare i contenuti inglese la lingua nella tabella principale. Lo stesso contenuto o contenuto tradotto possono essere memorizzati in una tabella di traduzione separata.
Article_Translation (ID, articleID, LangID, langTitle, langContent)
esempio di contenuti
insert into article values ('art101','ENU','New Website for Developers','Stackoverflow is new and useful','BKM')
Insert into article_translation (1023, 'art101','FRA','nouveau site Web pour les développeurs','stackoverflow est nouveau et utile','BKM')
Insert into article_translation (1024, 'art101','SPA','nuevo sitio web para desarrolladores','Stackoverflow es nuevo y útil','BKM')
A seconda della lingua preferenze dell'utente, il contenuto può essere visualizzato sia dalla tabella articolo o tabella di traduzione un articolo
In generale, per ogni entità che ha bisogno di traduzione, avrete bisogno di un tavolo da ping e la lingua di traduzione principale.