Bonjour,
Ce qui serait intéressant, serait d'avoir une description assez détaillée de ce que tu entends par "site multilingue", car les besoins sont différents d'une application à l'autre.
L'idée générale est que chaque "objet" (article, rubrique, ...) créé
par un rédacteur possède non pas une liste de propriétés (titre,
descriptif, ...) mais une lise de liste de propriétés (une liste
de titres, une liste de descriptifs, ...).
Du point de vue interface, il faudrait ajouter un nouveau champ
"langue" qui permet de visualiser les différentes entrées de la
liste des valeurs de chaque propriété.
En particulier, il faut savoir si les pages doivent s'adapter à la "langue du visiteur",
Oui.
Par défaut, la langue utilisée sera celle spécifiée par le client
(dans les préférences de son navigateur). Cette langue pouvant être
changée par l'utilisateur par un bouton sur le page web (ou une liste,
ou tout autre moyen graphique de lui proposer ce choix).
si les articles sont (rarement, souvent, toujours ?) présents dans plusieurs (toutes ?) les langues,
Les articles seront toujours écrits dans une certain langue langue.
Ensuite ils peuvent être traduits dans d'autres.
A partir de là, si l'article n'est pas disponible dans la langue
de l'utilisateur, il y a deux options:
- on considère que l'article n'existe pas.
- on affiche l'article dans la langue de sa création.
si le site doit prendre en compte un nombre "infini" de langues ou juste 2-3,
Il ne doit pas y avoir de limites à ce niveau.
Ceci dit, au niveau de la gestion globale du site, il serait
intéressant de donner la liste des langues que le site _doit_
supporter (alors que tous les articles _peuvent_ être traduits
dans n'importe quelle langue). Cela permettrait d'établir la liste
des articles qu'il reste à traduire par exemple. Cela permet
aussi de ne proposer qu'une liste courte dans le champ "langue".
si l'arabe et/ou l'hébreu (ou toute langue s'écrivant en "bidi", de droite à gauche) peuvent être présents
En tout généralité, oui.
--
Gaëtan Frenoy (gaetan [à] frenoy.net)