tutorial site multilingue
le 29/01/2005 à 19:40
hska
Bonsoir à vous tous,
Je voudrais vous demander un renseignement.
Je suis à la recherche d'un livre ou d'in tutorial sur le développement d'un site multilingue en PHP MySQL
Veuillez m'en informer si vous avez des informations à ce sujet.
Merci beaucoup
Salut
Voila ce que j'ai trouvé sur
google
c'est une possiblité parmis tant d'autres tu devrais regarder aussi le xml !
Ciao,
I am singing in the rain , I am happy again !!
le 30/01/2005 à 22:42
hska
Merci beaucoup les amis de vos réponses.
J'ai réussit tout de même de créer un script mais j'ai un autre problème
Je souhaite de crée une application multilingue (français, anglais) pour un catalogue de produits.
Mais je n’y arrive pas. Je suppose que mes erreurs proviennent de la conception de ma base de données MySql.
J’ai besoin de vos conseils, aidez moi s’il vous plaît !
Mon problème : je n'arrive pas à créer quelques choses comme ça :
http://www.monsite.com/index.php?id_cat=3&la
ng=en
à savoir que si on change de langue en "fr", on garde la MEME page index.php et la MEME id_rub=3 et seul le contenu de la page index sera traduit automatiquement en Français.
J'ai quand même réussit à faire une autre application ci-jointe :
http://www.monsite.com/index.php?cat=2&lang=
en
Mais quand je change la langue en "fr" je suis obligé de changer AUSSI la catégorie pour que ça marche sinon, rien ne sera affiché! (ce qui est tout à fait logique, car selon ma base de données, chaque catégorie a un identifiant unique)
Par exemple pour afficher les catégories en français, je suis obligé de changer "cat=7&lang=fr". Ce qui n'est pas pratique du tout.
Alors, je pense que j'ai mal conçu ma base de données, n'est pas?
Car j’ai vue sur le site multilingue PhpMyVisite http://ns2551.ovh.net/~phpmyvis/index.php
L’url de la rubrique ACCUEIL en Français :
http://ns2551.ovh.net/~phpmyvis/index.php?part=a
ccueil&lg=fr
En Anglais :
http://ns2551.ovh.net/~phpmyvis/index.php?part=a
ccueil&lg=en
Comme vous avez constaté, on reste sur la même page Index.php,
Et on garde la même variable « part=accueil »
Seule la variable langue « lg » change en Anglais « en »
En effet, je souhaite de créer mon petit site comme cet exemple mais je me casse la tête, je n’y arrive pas.
Est-ce que vous voyer une erreur dans ma base de données ?
Voici ma base (je simplifie) :
Il y a 4 tables :
LANGUE :
Lang (clé primaire, char=2)
THEME :
ID (clé primaire numérique)
Lang (clé étrangère, relié à la table LANGUE, relation un à plusieurs)
Thème
CATEGORIE :
ID
Lang (clé étrangère, relié à la table LANGUE, relation un à plusieurs)
Thème (clé étrangère, relié à la table THEME, relation un à plusieurs)
PRODUIT :
ID
Lang (clé étrangère, relié à la table LANGUE)
Catégorie (clé étrangère, relié à la table THEME, relation un à plusieurs)
Nom_produit
Merci encore pour votre dévouement.
Minio
Il te suffit, dans tes catégories, de rajouter un champs à ta table en y plaçant la traduction en anglais.
Exemple :
Id :3
nom_fr : Livres
nom_en : Book
C'est une méthode comme une autre, par contre, cela devient impossible à gérer si tu as 50 langues sur ton site.
Dans ce cas, le plus simple reste de travailler avec des fichiers textes et des constantes.
Dans ton code, tu utilises une constante, exemple MA_CATEGORIE, et tu utilises deux fichiers de langues :
- un francais.php
- un anglais.php
Dans chacun de ses fichiers de langues, tu va placer le texte qui sera remplacé en fonction de la langue.
Exemple :
<?php
echo MA_CATEGORIE;
?>
<?php
define ('MA_CATEGORIE', 'Livres');
?>
<?php
define ('MA_CATEGORIE', 'Book');
?>
Naturellement, il faudra include francais.php ou anglais.php (dans index.php) en fonction du choix de l'utilisateur (dans ton cas, c'est un paramètres de l'URL qui indique ce choix).
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: