Aller au contenu

Site multi langue fichier php ou via SQL ?


Pa2pseudo

Sujets conseillés

Bonjour,

Je suis entrain de mettre sur papier un projet qui est destiné à la fois à la France et au continent Nord-Américain. Il va de soit qu'une plate forme au moins anglais/français doit être mise en place.

Le site s'appuiera sur une base de donnée pour enregistrer les membres et les annonces de chacun d'entre eux.

Les annonces seront enregistrées via un formulaire. Je pensais mettre les choix de réponses pour le formulaire dans la base de donnée.

Etant un peu novice en la matière (en base de donnée et en PHP déjà touché et bidouillé du code mais première création importante cependant l'apprentissage ne m'effraie pas (pour l'instant :P)), je me demande quelle serait l'option la plus intéressante : utiliser un fichier lang pour chacune des deux langues pour absolument tout le site ou une base de donnée dans laquelle j'intègre deux champs dans une table l'une pour le FR et l'autre pour EN.

La quelle des deux options seraient la plus intéressante ? Sachant que pour l'instant j'envisage de développer en FR et en EN mais à moyen terme selon l'affluence, une autre langue tel que l'espagnol pourrait être utilisée.

Merci :)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Si ton site est appelé à devenir important, je te conseille de passer par une BDD. Cela te sera plus facile à gérer par un accès admin par exemple.

Par contre, s'il n'y a que "30" mots à traduire, ca ne sert à rien de sortir le tank pour faire ses courses :)

Tout dépend du volume.

Portekoi

Lien vers le commentaire
Partager sur d’autres sites

Sinon : les deux :D

La base de données en "back end" pour sa souplesse de maintenance, et un/des fichier(s) de cache contenant le tableau qui t'intéresse (serialize/unserialize) pour les performances.

Lien vers le commentaire
Partager sur d’autres sites

Pour gérer le multilinguisme en général, il y a un mélange des deux.

Je te conseille de bien penser les 2 étapes propres au multilinguisme :

- la localisation

- la traduction

La localisation sert à traduire tes éléments statiques :

"connectez-vous" ou encore "page d'accueil"

L'utilisation d'un fichier texte est devenue une habitude.

pour deux langues, tu obtiendras un fichier français -> anglais

ensuite il te faut une fonction pour afficher ton texte.

localiser('Page d'accueil')

En fonction de la langue choisie, elle affichera la bonne version.

pour les textes dynamiques, il te faudra plutôt employer une base de données avec une correspondance :

- cette annonce a une version anglaise -> l'autre annonce

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai trouvé que Zencart avait une approche plutôt souple permettant à l'infini l'intégration de nouvelles langues.

Les affichages de texte sont des variables, les variables sont donc définies pour chacune des langues dans des fichiers qui sont propres à chacune des langues.

Lien vers le commentaire
Partager sur d’autres sites

bonjour,

sur un site en 6 langues j'utilise la solution de pluriel

un fichier texte par langue pour les expressions statiques et constantes du site et une base de données pour les contenus dynamiques.

sur le site www.lacannecy.com chaque adhérent peut mettre à jour sa fiche de façon autonome il se posait donc le problème de la traduction.

grace à la base de données c'est très simple.

j'ai créé une interface traducteur avec login et code pour la boite qui gère la traduction, en haut de page se trouve le texte en français lecture seule, dessous les champs texte un pour chaque langue

avant j'ai une page avec un select déroulant pour sélectionner l'adhérent à traduire.

c'est instantané avec un minimum de manip. si le texte est traduit il s'affiche sur le site public sinon anglais par défaut.

je n'utilise pas de détection automatique de la langue du visiteur par son navigateur car catastrophique en référencement, j'ai une déclinaison des domaines par langue : meer-van-annecy.nl pour le néerlandais lago-annecy.es etc...

le fichier texte statique est traduit une fois.

JP

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...