Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/07/2012, à 13:58

Xun

Gérer du contenu équivalent mais dans des langues différentes

Bonjour smile

J'ai un projet web pour la fac consistant à faire un site personnel. Je comptais le faire en php sans MCV ni bundles, avec une base de données SQL. Je ne suis pas limité en taille de ce point de vue là.
Je dois donc y insérer plusieurs contenus dont mon CV, dans plusieurs langues, au format PDF et texte.

J'ai déjà pensé à 2 solutions pour cela:
-> faire une page différente pour chaque langue avec la probabilité d'oublier de mettre des infos ou de laisser des infos périmées dans une langue; et donc de multiplier chaque page par le nombre de langues à gérer
-> Coder à l'arrache chaque ligne de texte avec une variable de langue du style

 if($lang=='fr') echo 'mon CV';
if($lang=='en') echo 'my curriculum vitae';
etc...

Il n'est évidemment pas question d'utiliser un traducteur en direct...

Ne trouvant pas cela satisfaisant; je m'en remets à vous: quelle est la meilleure façon de gérer (ajouter, supprimer, modifier) facilement du texte dans plusieurs langues différentes selon vous ?

Hors ligne

#2 Le 05/07/2012, à 00:01

jerome33

Re : Gérer du contenu équivalent mais dans des langues différentes

Utiliser joomla qui fait ça très bien mais je suppose que c'est pas ce qu'on attend de toi.

Hors ligne

#3 Le 06/07/2012, à 11:03

Xun

Re : Gérer du contenu équivalent mais dans des langues différentes

Que fait joomla à cet effet ?

Hors ligne

#4 Le 06/07/2012, à 11:45

Jules Petibidon

Re : Gérer du contenu équivalent mais dans des langues différentes

Ça veut dire quoi "pas question d'utiliser un traducteur en direct" ?

Hors ligne

#5 Le 06/07/2012, à 14:21

Xun

Re : Gérer du contenu équivalent mais dans des langues différentes

Genre google translation qui viendrait traduire ma page écrite en français en anglais par exemple

Hors ligne

#6 Le 06/07/2012, à 14:36

seb24

Re : Gérer du contenu équivalent mais dans des langues différentes

Normalement on fait comme ça :
- Ta page initialise/définie une variable de langue. Par exemple en PHP tu peux utiliser une variable de session

S_SESSION['lang']=fr;

- Selon la variable de langue définie, tu charge un tableau qui correspond à la lange avec l'ensemble de tes textes et phrases.

exemple le tableau en fr :

$languageArray=array(
titre=>'Mon site';
contenu=>'blabla';
);

en anglais

$languageArray=array(
titre=>'My website';
contenu=>'blabla';
);

- Ensuite sur ton site à la place des mots tu mets tes différents clés de tableaux.

<title><?php echo $languageArray['titre']; ?></title>

EDIT : Perso j'ai jamais trouvé de système de langue satisfaisant. C'est toujours lourd et chiant à gérer.

Dernière modification par seb24 (Le 06/07/2012, à 14:38)


Mini PC NUC avec Ubuntu: ebay

Hors ligne

#7 Le 06/07/2012, à 14:57

Jules Petibidon

Re : Gérer du contenu équivalent mais dans des langues différentes

Pour la traduction du texte statique, y'a gettext, c'est tout de même vachement moins chiant que la méthode tableaux PHP.
Par contre au début, ça pique un peu, mais c'est qu'un mauvais moment à passer.

Pour le texte dynamique par contre, là t'as pas le choix de mettre les différentes traductions en DB.

Bonne migraine smile

Hors ligne

#8 Le 06/07/2012, à 15:47

Xun

Re : Gérer du contenu équivalent mais dans des langues différentes

À première vue, gettext est assez compliqué en effet mais je vais explorer ces pistes, merci !!

Hors ligne

#9 Le 06/07/2012, à 16:55

seb24

Re : Gérer du contenu équivalent mais dans des langues différentes

Jules Petibidon a écrit :

Pour la traduction du texte statique, y'a gettext, c'est tout de même vachement moins chiant que la méthode tableaux PHP.
Par contre au début, ça pique un peu, mais c'est qu'un mauvais moment à passer.

Pour le texte dynamique par contre, là t'as pas le choix de mettre les différentes traductions en DB.

Bonne migraine smile

Gettext.... beurk big_smile


Mini PC NUC avec Ubuntu: ebay

Hors ligne

#10 Le 06/07/2012, à 17:44

Mathieu147

Re : Gérer du contenu équivalent mais dans des langues différentes

seb24 a écrit :

Perso j'ai jamais trouvé de système de langue satisfaisant. C'est toujours lourd et chiant à gérer.

Idem.

Ton tableau, tu peux le mettre dans un fichier externe que tu require_once() dans ta page.

Au lieu de faire un accès direct au tableau comme $traductions[$clé], fais-toi plutôt une fonction pour que tu puisses appeler traduction($clé), pour tous les avantages que ça peut apporter.


Pffff…

Hors ligne

#11 Le 06/07/2012, à 18:06

seb24

Re : Gérer du contenu équivalent mais dans des langues différentes

Mathieu147 a écrit :
seb24 a écrit :

Perso j'ai jamais trouvé de système de langue satisfaisant. C'est toujours lourd et chiant à gérer.

Idem.

Ton tableau, tu peux le mettre dans un fichier externe que tu require_once() dans ta page.

Au lieu de faire un accès direct au tableau comme $traductions[$clé], fais-toi plutôt une fonction pour que tu puisses appeler traduction($clé), pour tous les avantages que ça peut apporter.

Pour ma par je passe par un framework (Symfony2), du coup c'est déjà presque tout fait pour la gestion de langues.
Après oui en général tu mes le tableau dans un autre fichier et tu gère la langue via une petite fonction/classe, car il faut prendre en compte différents cas de figures (exemple : détection de la langue par défaut pour l'utilisateur)


Mini PC NUC avec Ubuntu: ebay

Hors ligne

#12 Le 06/07/2012, à 19:15

jerome33

Re : Gérer du contenu équivalent mais dans des langues différentes

Joomla dans sa dernière version permet de faire des articles dans des langues différentes et de lier les version d'un même article dans chaque langue. Pareil pour les menus.

Hors ligne

#13 Le 06/07/2012, à 19:47

Mathieu147

Re : Gérer du contenu équivalent mais dans des langues différentes

seb24 a écrit :
Mathieu147 a écrit :
seb24 a écrit :

Perso j'ai jamais trouvé de système de langue satisfaisant. C'est toujours lourd et chiant à gérer.

Idem.

Pour ma par je passe par un framework (Symfony2), du coup c'est déjà presque tout fait pour la gestion de langues.

Oui moi aussi j'utilise un framework (Jelix) mais je pense qu'ici on demande à Xun de tout programmer lui-même.


Pffff…

Hors ligne

#14 Le 06/07/2012, à 20:59

Xun

Re : Gérer du contenu équivalent mais dans des langues différentes

Je pourrais utiliser un MCV du type Symfony, mais je me suis dit que pour 3 pages... Je regardais comment ça marchait, le site du zero en a un tuto; quand j'ai vu tout ce qu'il fallait faire pour afficher un simple "hello world" je me suis dit que ça n'en valait pas la peine.

Pensez-vous que je doive reconsidérer mon avis ?

Hors ligne