tutorial site multilingue

Répondre
hska
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
Lefounard
le 29/01/2005 à 21:03
Lefounard
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 !!
hska
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
LA GLOBULE
le 31/01/2005 à 17:38
LA GLOBULE
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 :

index.php
<?php
echo MA_CATEGORIE;
?>


francais.php
<?php
define ('MA_CATEGORIE', 'Livres');
?>


anglais.php
<?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).
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours