Vous ne devez vous soucier que d'une langue pour une demande particulière. Bien que vous ne puissiez sélectionner que la langue requise par la demande de page, il n'est toujours pas recommandé d'organiser votre contenu de cette manière.
Ce que vous devez faire est d'utiliser les paramètres régionaux et fournir des valeurs par défaut pour un contenu. Parce que même si vous pensez que vous créerez toujours deux versions d'un contenu, dans un monde moins que parfait, cela n'arrive pas toujours. Donc, vous devez d'abord créer votre modèle pour refléter cette relation. Par conséquent, vous devez d'abord créer votre modèle. Pour la simplicité, je vais simplement me référer à cela comme content
. Mais vous pourriez bien sûr avoir votre contenu pour n'importe quoi.
`content` (The Table)
id
status
title
content
dataCreated
dateModified
owner
`contentTranslations` (The Table)
id
contentId (FK)
locale
title
content
dateCreated
dateModified
Maintenant, vous avez juste besoin d'un moyen de connaître les paramètres régionaux que l'utilisateur souhaite utiliser. Je préfère utiliser Zend_Locale pour gérer tous mes paramètres régionaux, et Zend_Translate pour short key => value translations. (Ceci n'est pas approprié pour les longues traductions de contenu). Lorsque vous connaissez les paramètres régionaux que vous souhaitez utiliser, tout ce que vous devez faire est d'effectuer votre requête pour sélectionner avec une jointure.
La beauté
La beauté de tout cela cependant, est que si vous ne l'avez pas créé votre contenu pour une version particulière, vous pouvez toujours défaut et rouler sur votre langue de base que l'original article/contenu a été écrit en.
SELECT c.id, c.status, c.title, c.content
FROM content as c
LEFT JOIN contentTranslations as t
ON c.id = t.contentId
WHERE c.id = 21231 AND t.locale = X
IMO: Mieux vaut conserver 1 table. – drudge
Avez-vous des exigences spécifiques qui ne peuvent pas être satisfaites par un CMS mature comme Drupal? – Emyr
Le site n'a pas été créé à l'aide d'un CMS, je devrais presque reconstruire le site pour l'adapter au CMS. – tenshimsm